Earthwork flow vector generation using node and connection input graphs
The control system generates a flow graph using a double-layer input graph to optimize earthwork operations, addressing inefficiencies in earthwork designs by guiding equipment movements based on elevation differences, thereby reducing equipment use and enhancing project efficiency.
Patent Information
- Application Number
- JP2022536835
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-17
- Filing Date
- 2020-12-15
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2040-12-15
AI Technical Summary
Existing earthwork designs in construction projects are inefficient, leading to high costs due to excessive use of heavy equipment, as they lack effective methods for optimizing the movement of earth and gravel based on elevation differences.
A control system that generates a flow graph using a double-layer input graph, incorporating elevation differences and cost functions to guide the movement of soil and gravel, optimizing cut-and-fill operations through a machine control system.
Reduces the volume of earthwork operations by efficiently directing equipment movements, minimizing equipment use and enhancing project efficiency.
Smart Images

Figure 0007724218000001 
Figure 0007724218000002 
Figure 0007724218000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 16 / 717,121, entitled "Earthworks Flow Vector Generation Using Node and Connection Input Graphs," filed December 17, 2019, the entire contents of which are incorporated herein by reference for all purposes. [Background technology]
[0002] Modern construction machinery has dramatically increased the efficiency with which various construction projects can be carried out. For example, earthmoving machinery using automatic slope control systems can slope a project area using fewer passes and in less time than previously possible manually. As another example, modern asphalt pavers and other road manufacturers are now able to replace old roads and build new ones in a matter of hours and days, instead of the weeks and months that once took place. Construction crews also now consist of fewer individuals due to the automation of various aspects of the construction process. Many of the technological advances in construction machinery are due in part to the availability of precise sensors that enable real-time monitoring of the condition and position of the machinery's components and / or the environment surrounding the machinery.
[0003] For many construction projects, earthworks can represent a significant portion of the total construction cost (e.g., 20%-30%). Thus, efficient earthwork design, which describes the movement of earth (often in the form of locations where cutting and filling are performed and the transport routes between them), can be critical to the overall performance of the project. For example, efficient earthwork design can reduce the total volume of earth cut and / or filled, thereby reducing the use of expensive heavy equipment such as excavators, trucks, loaders, and compactors. While some progress has been made in implementing improved earthwork designs, new methods and other techniques remain needed. Summary of the Invention
[0004] A summary of various embodiments of the present invention is provided below as a list of examples. As used below, any reference to a series of examples should be understood disjunctively as a reference to each of those examples (e.g., "Examples 1-4" should be understood as "Examples 1, 2, 3, or 4").
[0005]
[0005] Example 1 is a control system for assisting in the control of construction machinery at an earthwork site, the control system comprising: one or more processors; and when executed by the one or more processors, the control system includes the steps of: obtaining a design elevation map of the earthwork site, the design elevation map including a plurality of design elevation points of the earthwork site; obtaining an actual elevation map of the earthwork site, the actual elevation map including a plurality of actual elevation points of the earthwork site; and forming a double layer input graph based on the design elevation map and the actual elevation map, the double layer input graph including a plurality of nodes related via a plurality of connections, a plurality of nodes, each of which is associated with a value calculated based on an elevation difference between a design elevation map and an actual elevation map, and each connection of the plurality of connections is associated with a cost for moving soil within the earthwork site along the connection; generating a flow graph by solving the double-layer input graph, the flow graph including a set of flow vectors indicating the movement of soil within the earthwork site; and causing movement of construction equipment at the earthwork site in accordance with the flow graph.
[0006]
[0006] Example 2 is the control system of Example 1, wherein the operation further includes a step of calculating, for each node of the plurality of nodes, a value associated with the node based on an elevation difference between the design elevation map and the actual elevation map.
[0007]
[0007] Example 3 is the control system of Examples 1-2, wherein the operation further includes a step of calculating, for each connection of the plurality of connections, a cost associated with the connection for moving soil and gravel within the earthwork site along the connection.
[0008]
[0008] Example 4 is the control system of Examples 1-3, in which the multiple nodes include multiple design elevation nodes and multiple actual elevation nodes, and each of the multiple design elevation nodes is co-located with a corresponding one of the multiple actual elevation nodes.
[0009]
[0009] Example 5 is the control system of Example 4, wherein the multiple connections include multiple cross-map connections, each of the multiple cross-map connections extending between one of the multiple design elevation nodes and one of the multiple actual elevation nodes.
[0010]
[0010] Example 6 is a control system of Example 4, in which the multiple connections include multiple identical map connections, each of which extends between one of the multiple design elevation nodes and a different one of the multiple design elevation nodes or between one of the multiple actual elevation nodes and a different one of the multiple actual elevation nodes.
[0011]
[0011] Example 7 is a computer-implemented method including the steps of: obtaining a design elevation map of an earthwork site, the design elevation map including a plurality of design elevation points of the earthwork site; obtaining an actual elevation map of the earthwork site, the actual elevation map including a plurality of actual elevation points of the earthwork site; forming a double layer input graph based on the design elevation map and the actual elevation map, the double layer input graph including a plurality of nodes associated via a plurality of connections, each node of the plurality of nodes being associated with a value calculated based on the elevation difference between the design elevation map and the actual elevation map, and each connection of the plurality of connections being associated with a cost for moving soil within the earthwork site along the connection; and generating a flow graph by solving the double layer input graph, the flow graph including a set of flow vectors indicating the movement of soil within the earthwork site.
[0012]
[0012] Example 8 is the computer-implemented method of Example 7, further comprising the step of calculating, for each node of the plurality of nodes, a value associated with the node based on an elevation difference between the design elevation map and the actual elevation map.
[0013]
[0013] Example 9 is the computer-implemented method of Examples 7-8, further including a step of calculating, for each of the plurality of connections, a cost associated with the connection for moving soil within the earthwork site along the connection.
[0014]
[0014] Example 10 is the computer-implemented method of Examples 7-9, wherein the plurality of nodes includes a plurality of design elevation nodes and a plurality of actual elevation nodes, each of the plurality of design elevation nodes being co-located with a corresponding one of the plurality of actual elevation nodes.
[0015]
[0015] Example 11 is a computer-implemented method of Example 10, in which the multiple connections include multiple cross-map connections, each of the multiple cross-map connections extending between one of the multiple design elevation nodes and one of the multiple actual elevation nodes.
[0016]
[0016] Example 12 is a computer-implemented method of Example 10, in which the multiple connections include multiple identical map connections, each of which extends between one of the multiple design elevation nodes and a different one of the multiple design elevation nodes or between one of the multiple actual elevation nodes and a different one of the multiple actual elevation nodes.
[0017] Example 13 is the computer-implemented method of Examples 7-12, in which the flow graph is a double-layered flow graph that includes one flow vector of the set of flow vectors for each of a plurality of connections.
[0018]
[0018] Example 14 is a non-transitory computer-readable medium that stores instructions that, when executed by one or more processors, cause one or more processors to perform operations including: obtaining a design elevation map of an earthwork site, the design elevation map including a plurality of design elevation points of the earthwork site; obtaining an actual elevation map of the earthwork site, the actual elevation map including a plurality of actual elevation points of the earthwork site; forming a double layer input graph based on the design elevation map and the actual elevation map, the double layer input graph including a plurality of nodes associated through a plurality of connections, each node of the plurality of nodes being associated with a value calculated based on an elevation difference between the design elevation map and the actual elevation map, and each connection of the plurality of connections being associated with a cost for moving soil within the earthwork site along the connection; and generating a flow graph by solving the double layer input graph, the flow graph including a set of flow vectors indicating the movement of soil within the earthwork site.
[0019]
[0019] Example 15 is the non-transitory computer-readable medium of Example 14, further comprising a step of calculating, for each node of the plurality of nodes, a value associated with the node based on an elevation difference between the design elevation map and the actual elevation map.
[0020]
[0020] Example 16 is the non-transitory computer-readable medium of Examples 14-15, further including a step of calculating, for each of the plurality of connections, a cost associated with the connection for moving soil and gravel within the earthwork site along the connection.
[0021]
[0021] Example 17 is the non-transitory computer-readable medium of Examples 14-16, wherein the plurality of nodes includes a plurality of design elevation nodes and a plurality of actual elevation nodes, each of the plurality of design elevation nodes being co-located with a corresponding one of the plurality of actual elevation nodes.
[0022]
[0022] Example 18 is a non-transitory computer-readable medium of Example 17, in which the multiple connections include multiple cross-map connections, each of the multiple cross-map connections extending between one of the multiple design elevation nodes and one of the multiple actual elevation nodes.
[0023]
[0023] Example 19 is a non-transitory computer-readable medium of Example 17, in which the multiple connections include multiple identical map connections, each of the multiple identical map connections extending between one of the multiple design elevation nodes and a different one of the multiple design elevation nodes or between one of the multiple actual elevation nodes and a different one of the multiple actual elevation nodes.
[0024] Example 20 is the non-transitory computer-readable medium of Examples 14-19, wherein the flow graph is a bilayer flow graph including one flow vector of the set of flow vectors for each of a plurality of connections.
[0025] The accompanying drawings, which are included to provide a further understanding of the present invention, are incorporated in and constitute a part of this specification, illustrate embodiments of the present invention, and together with the detailed description, serve to explain the principles of the present invention. No attempt is made to show structural details of the invention in more detail than may be necessary for a fundamental understanding of the invention and the various ways in which it may be practiced. [Brief explanation of the drawings]
[0026] [Figure 1] 1 illustrates a machine control system implemented within a construction environment to assist in controlling construction machinery. [Figure 2] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming an input graph formed from a plurality of nodes. [Figure 3A] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 3B] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 3C] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 3D] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 3E] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 3F]1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a single-layer input graph consisting of nodes and connections. [Figure 4] 1 illustrates an example of various steps that may be performed by a machine control system to generate a flow graph by forming a double-layer input graph composed of multiple nodes. [Figure 5] 1 illustrates example steps for forming a double layer input graph by forming connections between nodes. [Figure 6] 1 illustrates example steps for forming a double layer input graph by forming connections between nodes. [Figure 7] 7 shows an example of a double layer input graph formed by the steps shown in FIGS. [Figure 8A] 1 illustrates an example of various steps that may be performed by a machine control system to form a double-layer input graph. [Figure 8B] 1 illustrates an example of various steps that may be performed by a machine control system to form a double-layer input graph. [Figure 8C] 1 illustrates an example of various steps that may be performed by a machine control system to form a double-layer input graph. [Figure 8D] 1 illustrates an example of various steps that may be performed by a machine control system to form a double-layer input graph. [Figure 9] 8A-8D show an example of a double layer flow graph that may be generated by solving the double layer input graph formed by the steps shown in FIGS. 8A-8D. [Figure 10A] 10 shows an example of a debris flow step that may be generated based on a double-layer flow graph and then performed by a construction machine. [Figure 10B] 10 shows an example of a debris flow step that may be generated based on a double-layer flow graph and then performed by a construction machine. [Figure 11A]10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the first approach shown in FIG. 10A. [Figure 11B] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the first approach shown in FIG. 10A. [Figure 11C] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the first approach shown in FIG. 10A. [Figure 11D] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the first approach shown in FIG. 10A. [Figure 11E] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the first approach shown in FIG. 10A. [Figure 12A] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 12B] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 12C] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 12D] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 12E] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 12F] 10B illustrates the conversion of an actual elevation map to a design elevation map of an earthwork site by performing a debris flow step according to the second approach shown in FIG. 10B. [Figure 13]We present a method for creating and using a double-layer input graph. [Figure 14] 1 shows a simplified computer system. DETAILED DESCRIPTION OF THE INVENTION
[0027]
[0040] In the accompanying figures, similar components and / or features may have the same numerical reference label. Furthermore, various components of the same type may be distinguished by following the reference label with a letter or by following the reference label with a dash followed by a second numerical reference label that distinguishes among the similar components and / or features. When only the first numerical reference label is used in the specification, the description may apply to any one of the similar components and / or features having the same first numerical reference label, regardless of the subscript.
[0028]
[0041] Embodiments of the present disclosure provide an improved technique for assisting in the control of construction machinery when executing earthwork projects through the generation of an elevation-dependent flow graph. The generated flow graph may include a vector field with cut-and-fill priorities associated with each flow vector. In some embodiments, the flow graph is generated using an elevation-based input graph incorporating a cost function. The input graph may be dual-layered, with one layer on the current ground surface and the other layer on the design surface. Each layer may include multiple nodes (with both ground and design surface nodes) representing different cut / fill cells with volumes equal to the cut / fill volume. Nodes may be connected via multiple connections between nodes of the same type (referred to herein as same-map connections) as well as multiple connections between nodes of different types (referred to herein as cross-map connections).
[0029]
[0042] In some implementations, each node is connected to 16 other nodes: four Cartesian neighbors, four diagonal neighbors, and eight "two-hop" diagonal neighbors (nodes up to two columns or rows from the current node, such that existing connection directions are not repeated). Each of these connections may be bidirectional (and may be treated as two separate connections), possibly with asymmetric costs for different flow directions according to a cost function. The cost function may be manipulated to penalize different types of movement differently, such as penalizing (e.g., assigning a higher cost to) movements going uphill and rewarding (e.g., assigning a lower cost to) movements going downhill. Movements along the same elevation are neither penalized nor rewarded.
[0030]
[0043] In some cases, generating a flow graph by solving an input graph incorporating a cost function (e.g., using a least-cost flow algorithm) can determine flow vector priority based on several factors. For example, if the optimal flow is on the design surface, priority may be given to cutting. As another example, if the optimal flow is somewhere other than on the current ground, priority may be given to filling. Allocation priority can, in some instances, be facilitated by using an adjustable parameter b ≥ 1. If a connection in the input graph terminates on a design surface node (either from another design surface node or the current ground node), the cost is multiplied by the adjustable parameter b. In some implementations, the goal is to increase b until there is almost no flow on the design surface, with the remaining flow having the highest priority. This is because, even though the cost of flowing on the design surface increases, the most efficient path may still be on the design surface. Therefore, it may be important to first cut the current surface or fill the design surface in these regions, and then lower b to obtain lower priority flows.
[0031]
[0044] The techniques described herein further provide for self-contained identification of cut / fill regions. By examining the flow vectors in the flow graph, regions with no net inflow or outflow can be identified. The boundaries of these regions can correspond to "section lines," providing clear guidance to the operator as to where material should not intersect for an optimal earthmoving process.
[0032]
[0045] FIG. 1 illustrates a machine control system 100 implemented in a construction environment to assist in controlling a construction machine 150, according to some embodiments of the present disclosure. In some embodiments, the construction machine 150 may be deployed at an earthwork site 110 where large volumes of earth and sand are to be moved (e.g., cut and / or filled) to transform the current ground surface into a desired design surface. While the construction machine 150 is generally described herein as corresponding to an earthmoving construction machine, the various techniques described herein are applicable to a wide variety of construction machines, such as graders, excavators, bulldozers, backhoes, pavers (e.g., concrete, asphalt, slipform, vibratory, etc.), compactors, scrapers, loaders, etc. In some embodiments, the construction machine 150 may include a tractor having wheels, axles, and a gasoline, diesel, electric, or steam-powered engine that provides power and traction to the construction machine 150 to drive it along a desired path, often at a constant speed. An operator of the construction machine 150 can control the machine from within the cab using a variety of input devices 152, such as levers, switches, buttons, pedals, a steering wheel, a touch screen, and the like.
[0033]
[0046] The components of machine control system 100 may be attached to or integrated with components of construction machine 150 such that construction machine 150 may include machine control system 100. The components of machine control system 100 may be communicatively coupled to each other via one or more wired and / or wireless connections. To enable three-dimensional (3D) tracking of construction machine 150 and detection of the elevation of earthwork site 110, machine control system 100 may include various sensors 154 such as rotation sensors, positioning sensors, scanners, cameras, etc.
[0034]
[0047] In some embodiments, the sensor 154 may include an angle sensor, such as an inertial measurement unit (IMU). As used herein, an angle sensor may refer to any electronic device capable of detecting angular velocity and / or angular position. Thus, the angle sensors described herein may include an IMU. In some embodiments, the angle sensor may directly detect angular velocity and integrate to obtain angular position, or the angle sensor may directly measure angular position and determine the change in angular position (e.g., determine the derivative) to obtain angular velocity. Often, angle sensors are used to determine yaw angle (angle of rotation about a vertical axis), pitch angle (angle of rotation about a horizontal axis), and / or roll angle (angle of rotation about a vertical axis).
[0035]
[0048] In some embodiments, the sensor 154 may include a position sensor such as a global navigation satellite system (GNSS) receiver. As used herein, an angle sensor may refer to any electronic device capable of detecting a 3D position in world space. Such devices may support many 3D positioning solutions, such as a GNSS receiver or total station device that can establish a direct line of sight with a second nearby device to detect the 3D position. In some embodiments, the GNSS receiver may determine the position, velocity, and time information of the GNSS receiver using radio signals transmitted to the GNSS receiver from medium earth orbit (MEO) or geostationary earth orbit (GEO) satellites. Examples of currently operational GNSS systems include the United States' Global Positioning System (GPS), the Russian Global Land Navigation Satellite System (GLONASS), China's Beidou satellite navigation system, the European Union's Galileo, and the Satellite-Based Augmentation System (SBAS).
[0036]
[0049] The machine control system 100 may include a control box 160 that receives data from the sensors 154, the input devices 152, and an external computing system 162, generates commands that are sent to the actuators 156 to control the operating position of any of the actuators 156, and provides visual instructions or indicators that are displayed on a display 158. The control box 160 may include one or more processors and associated memory. In some embodiments, the control box 160 may be communicatively coupled to a central computing system 162 that is located external to the machine control system 100 and the construction machine 150. The central computing system 162 may send instructions to the control box 160 regarding the details of the grading operation, such as the area to be graded, the desired slope, etc. The central computing system 162 may also send alerts and other general information to the control box 160, such as traffic conditions, weather conditions, and the location and status of material transfer vehicles.
[0037]
[0050] In some embodiments, the machine control system 100 can generate and maintain the flow graph 120. In some embodiments, the flow graph 120 can be represented as a top-down view of the earthwork site 110 with flow arrows indicating the earth to be moved by the construction machine 150. The flow graph 120 can include various self-contained regions separated by partial lines. The self-contained regions and partial lines can provide guidance to the operator of the construction machine 150 as to where a dominant cut "bump" needs to be split, for example, with some earth moving to one side and some to the other. The flow vectors (shown by arrows) within each self-contained region can be drawn from the centroid of the cut cells to the centroid of the fill cells within the region.
[0038]
[0051] 2 illustrates example steps that may be performed by machine control system 100 to generate a flow graph by forming an input graph composed of multiple nodes 210. In some embodiments, an actual elevation map 202 and a design elevation map 204 of earthwork site 110 are acquired by machine control system 100. Each of the elevation maps may comprise elevation points corresponding to earthwork site 110 over a two-dimensional (2D) region. Actual elevation map 202 may correspond to the actual ground surface of earthwork site 110 and may be detected using one or more sensors. Design elevation map 204 may correspond to the desired ground surface of earthwork site 110 and may be provided via input device 152, received from external computing system 162, and / or generated within machine control system 100.
[0039]
[0052] In some embodiments, actual elevation map 202 and design elevation map 204 may be combined to create combined elevation map 206. In various embodiments, combined elevation map 206 may be calculated as the difference between actual elevation map 202 and design elevation map 204, as an overlay of actual elevation map 202 and design elevation map 204, or as some other combination of elevation maps. In some embodiments, nodes 210 may be calculated based on combined elevation map 206. Nodes 210 may span the same 2D area as actual elevation map 202 and design elevation map 204, and each of nodes 210 may be associated with a volumetric value that may be calculated based on (e.g., set equal to) the difference between an elevation point in actual elevation map 202 and a corresponding elevation point in design elevation map 204. Each of the volumetric values may correspond to an amount of earth and sand to be moved (e.g., cut and / or filled) so that earthwork site 110 is transformed to design elevation map 204.
[0040]
[0053] 3A-3F illustrate various example steps that may be performed by the machine control system 100 to generate a flow graph by forming a single-layer input graph 314 composed of multiple nodes 210 and multiple connections 312. FIG. 3A illustrates an example of a single-layer input graph 314 that may be formed by nodes 210 related via connections 312. For clarity, while connections 312 are shown only between adjacent and diagonally related nodes 210 in FIG. 3A , connections 312 may be formed between nearby nodes according to the illustrated connection pattern, which may further include connections between nodes related by "knight's moves." For each pair of nodes 210 between which a connection 312 is formed, a pair of connections may be formed, where one connection extends from the first node to the second node and the other connection extends from the second node to the first node.
[0041]
[0054] 3B shows an example of a unit cost that may be calculated for one of the nodes (the upper left node). Each of the unit costs may correspond to the cost of moving soil along the connection and may be calculated as a function of (1) the 2D locations of the start and end nodes, (2) the elevations of the design elevation map and the actual elevation map along the connection (e.g., at the locations of the start and end nodes), and (3) other information, such as specific machine performance parameters and soil information. In the particular illustrated example, each unit cost is calculated based on the 2D length of the connection without considering elevation changes between nodes.
[0042]
[0055] 3C shows an example of a single-layer flow graph 320 that may be generated by solving the single-layer input graph 314. In some embodiments, the single-layer input graph 314 may be solved by treating the single-layer input graph 314 as defining a minimum-cost flow problem. The solution to the problem aims to find the optimal flow (e.g., volume of sediment to be moved) along each connector such that volume is filled at each node (e.g., inflow minus inflow equals the node's volume value) while minimizing the total cost (e.g., the sum of each connector's flows multiplied by its unit cost). For the example solution shown in FIG. 3C, connectors with an optimal flow of zero are not drawn.
[0043]
[0056] Single-layer flow graph 320 includes a vector field of flow vectors 322 that represent the movement of sediment within earthwork site 110 along connectors 312. Each of flow vectors 322 extends between two of nodes 210 as well as corresponding connectors. In some embodiments, each of flow vectors 322 gives the average optimal sediment flow direction and magnitude at a given node.
[0044]
[0057] 3D shows an example of another display of a single-layer flow graph 320. In some embodiments, the flow vectors 322 at each node can be averaged by performing a flow-weighted vector sum of the outgoing connections at a given node. For example, if multiple flow vectors extend outward from a given node, the flow vectors can be averaged and weighted by their magnitude / flow rate. The resulting flow vectors 322 can be displayed to provide the operator of the construction machine 150 with the best direction to push the dirt for each node.
[0045]
[0058] 3E shows an example of identifying self-contained regions 324 based on a single-layer flow graph 320. In some embodiments, self-contained regions 324 may be identified by grouping nodes connected by non-zero flow vectors 322 such that each self-contained region 324 is contiguous and does not overlap with other self-contained regions 324. A self-contained region 324 is a region through which sediment does not flow in or out. In some embodiments, the boundaries between self-contained regions 324 may be referred to as "part lines."
[0046]
[0059] 3F shows an example of averaging flow vectors 322 by performing a flow-weighted vector sum of all flow vectors 322 within each self-contained area 324. For example, if multiple flow vectors are within a given self-contained area, the flow vectors may be averaged and weighted by their magnitude / flow rate. The resulting averaged flow vectors may be displayed to provide the operator of the construction machine 150 with the best direction to push the debris for each self-contained area.
[0047]
[0060] 4 shows an example of various steps that may be performed by machine control system 100 to generate a flow graph by forming a double-layered input graph composed of multiple nodes 410. In some embodiments, an actual elevation map 402 and a design elevation map 404 of earthwork site 110 are acquired by machine control system 100 and combined to create a combined elevation map 406, which may be calculated as the difference between actual elevation map 402 and design elevation map 404, as a superposition of actual elevation map 402 and design elevation map 404, or as some other combination of the elevation maps. Nodes 410 may be calculated based on combined elevation map 406 and may be distributed over the same 2D area as actual elevation map 402 and design elevation map 404.
[0048]
[0061] In the illustrated embodiment, the nodes 410 are divided into actual elevation nodes 410A (with elevations determined by actual elevation map 402) and design elevation nodes 410B (with elevations determined by design elevation map 404). Each of the actual elevation nodes 410A may be co-located in 2D with one of the design elevation nodes 410B.
[0049]
[0062] Figure 5 shows an example of steps for forming a double-layer input graph by forming connections 412 between nodes 410. In the upper right of Figure 5, same-map connections 412A are formed between design elevation nodes 410B. In the center right of Figure 5, same-map connections 412A are formed between actual elevation nodes 410A. In the lower right of Figure 5, cross-map connections 412B are formed between actual elevation nodes 410A and design elevation nodes 410B across two layers as shown.
[0050]
[0063] Figure 6 shows example steps for forming a double-layer input graph by forming connections 412 between nodes 410. In the top right of Figure 6, same-map connections 412A are formed between design elevation nodes 410B. In the center right of Figure 6, same-map connections 412A are formed between actual elevation nodes 410A. In the bottom right of Figure 6, cross-map connections 412B are formed between actual elevation nodes 410A and design elevation nodes 410B across two layers as shown.
[0051]
[0064] Figure 7 shows an example of a double layer input graph 714 formed by the steps shown in Figures 4-6. For example, the double layer input graph 714 may include nodes 410 (including both actual elevation nodes 410A and design elevation nodes 410B) and connections 412 (including both same-map connections 412A and cross-map connections 412B).
[0052]
[0065] Although not shown in FIG. 7 , in some embodiments, the double-layer input graph 714 can include “waste / borrow nodes” to which each of the nodes 410 is connected. The waste / borrow nodes may represent off-site sources or sinks of material. For example, if the total cut and fill volumes on the site are not equal, material may need to be brought to or removed from the site to build the design. The connections from the site nodes to the waste / borrow nodes may be unidirectional (depending on whether there is a surplus or deficit of material) and may have equal but arbitrary unit costs.
[0053]
[0066] Once the minimum-cost flow problem is solved on this new input graph (double-layer input graph 714 with waste / borrow nodes), the resulting flow graph shows the user where the best places are in the design to bring in or remove material. For example, on a site where material is scarce (e.g., fill volume > cut volume), the technique typically highlights the deepest filled areas as the best places to introduce additional material, but in some cases, the shallowest filled areas are highlighted if they are far from their nearest cut area. Intuitively, the highlighted areas are the most expensive areas of the site to build with existing material, so it makes sense to introduce additional material in these areas.
[0054]
[0067] 8A-8D show examples of various steps that may be performed by machine control system 100 to form a double-layer input graph. FIG. 8A shows actual elevation node 810A and design elevation node 810B labeled with their corresponding elevations. The elevation difference between co-located nodes can be calculated (shown at the top of each column). For example, in the leftmost column of FIG. 8A, the elevation difference is calculated as -3 (the difference between 0 and -3).
[0055]
[0068] Figure 8B shows actual elevation node 810A and design elevation node 810B labeled with corresponding volume values 832. The volume value 832 can be calculated for two co-located nodes by dividing their elevation difference by 2. For example, in the left-most column of Figure 8B, the volume value can be calculated as -1.5 (-3 divided by 2). As another example, in the right-most column of Figure 8B, the volume value can be calculated as 1 (2 divided by 2).
[0056]
[0069] 8C shows example steps for forming a double-layer input graph by forming connections 812 between nodes 810. Same-map connections 812A between actual elevation nodes 810A are shown with dashed lines, same-map connections 812A between design elevation nodes 810B are shown with solid lines, and cross-map connections 812B are shown with dotted lines.
[0057]
[0070] 8D shows an example of unit costs 842 that may be calculated for a connection extending outward from one of the nodes (the second, leftmost design elevation node). In the illustrated embodiment, each unit cost is calculated based on the length of the connection as well as the elevation change between the nodes. For example, the unit cost for a same-map connection extending to the left of the design elevation node is equal to 1 because there is no change in elevation; the unit cost for a same-map connection extending to the right of the design elevation node is equal to 1 because there is no change in elevation; the unit cost for a cross-map connection extending to the left of the design elevation node is equal to 0.5 because of the decrease in elevation; and the unit cost for a cross-map connection extending to the right of the design elevation node is equal to 3 because of the increase in elevation.
[0058]
[0071] Figure 9 shows an example of a double layer flow graph 920 that may be generated by solving the double layer input graph formed by the steps shown in Figures 8A-8D. The double layer flow graph 920 includes a vector field of flow vectors 922 that represent the movement of sediment within the earthwork site 110 along the connectors 812. Each of the flow vectors 922 extends between two of the nodes 810 as well as the corresponding connectors. Flow vectors of the double layer flow graph 920 that are equal to zero are not depicted in Figure 9.
[0059]
[0072] 10A and 10B show example steps that may be performed by construction machine 150 after they have been generated based on bilayer flow graph 920. Figure 10A shows steps generated according to a first approach in which flow vectors 922 extending outward from co-located nodes are summed. For example, two flow vectors extending outward from the right-most node in bilayer flow graph 920 are summed to generate step 1.1.
[0060]
[0073] FIG. 10B illustrates steps generated according to a second approach in which flow vectors 922 extending outward from actual elevation nodes with higher elevations than design elevation nodes are given higher priority than flow vectors 922 that do not. For example, referring to FIG. 9, flow vector 922-1 extends outward from node 810A-1, an actual elevation node with a higher elevation than the co-located design elevation node, so flow vector 922-1 should be executed before flow vectors 922-2 and 922-3. Therefore, flow vector 922-1 is used to generate step 2.1. By removing node 810A-1, the two flow units associated with flow vector 922-3 are no longer blocked by node 810A-1's volume value of 0.5. Otherwise, these two flow units would have to take the more expensive route on node 810A-1. In some embodiments, the sediment flow steps can be divided into different command sequences as shown in Figure 10B, which shows a first command sequence including step 2.1 and a second command sequence including steps 2.2-2.5.
[0061]
[0074] 11A-11E illustrate the conversion of an actual elevation map to a design elevation map of an earthwork site 110 by performing the earthflow steps 1.1-1.4 according to the first approach shown in FIG. 10A.
[0062]
[0075] 12A-12F illustrate the conversion of an actual elevation map to a design elevation map of the earthwork site 110 by performing the debris flow steps 2.1-2.5 according to the second approach shown in FIG. 10B.
[0063]
[0076] 13 illustrates a method 1300 according to some embodiments of the present disclosure. In various embodiments, method 1300 may correspond to a method for forming a double-layer input graph, a method for generating a flow graph, and / or a method for assisting in the control of a construction machine. One or more steps of method 1300 may be performed in a different order than in the illustrated embodiment, and / or one or more steps of method 1300 may be omitted during execution of method 1300. One or more steps of method 1300 may be performed by components described herein, such as construction machine 150 and / or machine control system 100.
[0064]
[0077] In step 1302, a design elevation map (e.g., design elevation map 204, 404) for an earthwork site (e.g., earthwork site 110) may be obtained. In some embodiments, the design elevation map includes multiple design elevation points for the earthwork site.
[0065]
[0078] In step 1304, an actual elevation map of the earthwork site (e.g., actual elevation map 202, 402) may be obtained. In some embodiments, the actual elevation map includes a plurality of actual elevation points of the earthwork site.
[0066]
[0079] In step 1306, a double layer input graph (e.g., double layer input graph 714, 914) is formed based on the design elevation map and the actual elevation map. In some embodiments, the double layer input graph includes a plurality of nodes (e.g., nodes 210, 410, 810) associated through a plurality of connections (e.g., connections 312, 412, 812). In some embodiments, each node of the plurality of nodes is associated with a value (e.g., volume value 832) calculated based on the elevation difference between the design elevation map and the actual elevation map. In some embodiments, each connection of the plurality of connections is associated with a cost (e.g., unit cost 842) for moving earth within the earthwork site along the connection. In some embodiments, step 1306 includes one or both of steps 1308 and 1310.
[0067]
[0080] In some embodiments, the plurality of nodes includes a plurality of design elevation nodes (e.g., design elevation nodes 410B, 810B) and a plurality of actual elevation nodes (e.g., actual elevation nodes 410A, 810A). In some embodiments, each design elevation node of the plurality of design elevation nodes is co-located (e.g., in 2D) with a corresponding actual elevation node of the plurality of actual elevation nodes.
[0068]
[0081] In some embodiments, the plurality of connections includes a plurality of same-map connections (e.g., same-map connections 412A, 812A) and a plurality of cross-map connections (e.g., cross-map connections 412B, 812B). Each same-map connection of the plurality of same-map connections can span either (1) between a first design elevation node of the plurality of design elevation nodes and a second design elevation node of the plurality of design elevation nodes, or (2) between a first actual elevation node of the plurality of actual elevation nodes and a second actual elevation node of the plurality of actual elevation nodes.
[0069]
[0082] In step 1308, a value associated with each of the plurality of nodes is calculated based on the elevation difference between the design elevation map and the actual elevation map. In some embodiments, the elevation of each node is first calculated. For each of the plurality of design elevation nodes, the elevation can be calculated as a point along the design elevation map. Similarly, for each of the plurality of actual elevation nodes, the elevation can be calculated as a point along the actual elevation map. Once the elevations are calculated, the difference between the elevations at two co-located nodes (one design elevation node and one actual elevation node) can be calculated. The value associated with two co-located nodes may be set equal to the elevation difference or the elevation difference divided by two, as described with reference to FIG. 8B.
[0070]
[0083] In step 1310, a cost associated with each of a plurality of connections for moving earth and sand within the earthwork site along the connection is calculated. In some embodiments, the cost is distance dependent, such that the cost is at least partially a function of the distance between the nodes the connection extends between. In some embodiments, the cost is elevation dependent, such that the cost is at least partially a function of the elevation difference between the nodes the connection extends between. In some embodiments, as described with reference to FIG. 8D , an increase in the height of the connection increases the cost, and a decrease in the height of the connection decreases the cost.
[0071]
[0084] In step 1312, a flow graph (e.g., flow graph 120, 320, 920) is generated by solving the double-layered input graph. In some embodiments, the flow graph includes a set of flow vectors (e.g., flow vector 322, 922) that indicate sediment movement within the earthwork site. In some embodiments, the flow graph can include a plurality of nodes and a set of flow vectors that indicate sediment movement between the plurality of nodes. For example, each of the set of flow vectors can correspond to one of the plurality of connectors, such that each of the set of flow vectors indicates sediment movement along one of the plurality of connectors. In some embodiments, the flow graph is a double-layered flow graph that includes a flow vector of the set of flow vectors for each of the plurality of connectors. When the flow graph is displayed for an operator, any flow vectors with a value of 0 need not be displayed.
[0072]
[0085] FIG. 14 illustrates a simplified computer system 1400 according to some embodiments of the present disclosure. The computer system 1400 illustrated in FIG. 14 may be incorporated into a device such as a construction machine 150 or a machine control system 100 or any other device described herein. FIG. 14 provides a schematic diagram of one embodiment of a computer system 1400 capable of performing some or all of the steps of the methods provided by various embodiments. Note that FIG. 14 is only meant to provide a generalized description of various components, any or all of which may be utilized as appropriate. Thus, FIG. 14 broadly illustrates how individual system elements may be implemented in a relatively separate or more integrated manner.
[0073]
[0086] Computer system 1400 is shown as comprising hardware elements that can be electrically coupled, or otherwise communicate as needed, via a bus 1405. The hardware elements may include one or more processors 1410, including one or more general-purpose processors and / or one or more special-purpose processors, such as, but not limited to, digital signal processing chips, graphics acceleration processors, and / or the like, one or more input devices 1415, including, but not limited to, a mouse, keyboard, camera, and / or the like, and one or more output devices 1420, including, but not limited to, a display device, printer, and / or the like.
[0074]
[0087] Computer system 1400 may further include and / or communicate with one or more persistent storage devices 1425, which may comprise, but are not limited to, local and / or network-accessible storage, and / or may include, but are not limited to, disk drives, drive arrays, optical storage devices, solid-state storage devices, such as programmable, flash-updateable, and / or the like random access memory (“RAM”) and / or read-only memory (“ROM”), etc. Such storage devices may be configured to implement any suitable data store, including, but not limited to, various file systems, database structures, etc.
[0075]
[0088] Computer system 1400 may also include a communications subsystem 1430, which may include, but is not limited to, a modem, a network card (wireless or wired), an infrared communications device, a wireless communications device, and / or a chipset for a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communications facility, etc. Communications subsystem 1430 may include, by way of example only, one or more input and / or output communications interfaces to enable data exchange with networks, such as those described below, other computer systems, and / or any other devices described herein. Depending on desired functionality and / or other implementation considerations, a portable electronic device or similar device may communicate images and / or other information via communications subsystem 1430. In other embodiments, a portable electronic device, e.g., a first electronic device, may be incorporated into computer system 1400, e.g., as input device 1415. In some embodiments, computer system 1400 further comprises a working memory 1435, which may include a RAM or ROM device, as previously described.
[0076]
[0089] Computer system 1400 may also include software elements shown as currently located in working memory 1435, including operating system 1440, device drivers, executable libraries, and / or other code, such as one or more application programs 1445, which may include computer programs provided by various embodiments and / or may be designed to implement methods and / or configure systems provided by other embodiments as described herein. By way of example only, one or more of the procedures described with respect to the methods described above may be implemented as code and / or instructions executable by a computer and / or a processor within a computer, in which case, in one aspect, such code and / or instructions may be used to configure and / or adapt a general-purpose computer or other device to perform one or more operations in accordance with the described method.
[0077]
[0090] A set of these instructions and / or code can be stored on a non-transitory computer-readable storage medium, such as the aforementioned storage device 1425. In some cases, the storage medium may be incorporated within a computer system, such as computer system 1400. In other embodiments, the storage medium may be separate from the computer system, e.g., a removable medium such as a compact disc, and / or may be provided in an installation package, such that the storage medium can be used to program, configure, and / or adapt a general-purpose computer with the stored instructions / code. These instructions may be in the form of executable code that can be executed by computer system 1400 and / or may be in the form of source and / or installable code, e.g., when compiled and / or installed on computer system 1400 using any of a variety of commonly available compilers, installation programs, compression / decompression utilities, etc.
[0078]
[0091] It will be apparent to those skilled in the art that substantial modifications can be made according to particular requirements. For example, customized hardware may be used and / or particular elements may be implemented in hardware, software, including portable software such as applets, or both. Furthermore, connection to other computing devices, such as network input / output devices, may be employed.
[0079]
[0092] As mentioned above, in one aspect, some embodiments may use a computer system, such as computer system 1400, to perform methods according to various embodiments of the present technology. According to one set of embodiments, some or all of the steps of such methods are performed by computer system 1400 in response to processor 1410 executing one or more sequences of one or more instructions, which may be embedded in other code, such as operating system 1440 and / or application program 1445, contained in working memory 1435. Such instructions may be read into working memory 1435 from another computer-readable medium, such as one or more of storage devices 1425. By way of example only, execution of the sequences of instructions contained in working memory 1435 may cause processor 1410 to perform one or more steps of the methods described herein. Additionally or alternatively, some of the methods described herein may be performed via dedicated hardware.
[0080]
[0093] As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In embodiments implemented using computer system 1400, various computer-readable media may participate in providing instructions / code to processor 1410 for execution and / or may be used to store and / or carry such instructions / code. In many implementations, computer-readable media are physical and / or tangible storage media. Such media may take the form of non-volatile or volatile media. Non-volatile media include, for example, optical and / or magnetic disks, such as storage device 1425. Volatile media include, but are not limited to, dynamic memory, such as working memory 1435.
[0081]
[0094] Common forms of physical and / or tangible computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape or any other magnetic media, CD-ROMs, any other optical media, punch cards, paper tape, any other physical media with a pattern of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and / or code.
[0082]
[0095] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to processor 1410 for execution. By way of example only, the instructions may initially be carried on a magnetic and / or optical disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and / or executed by computer system 1400.
[0083]
[0096] Communications subsystem 1430 and / or its components typically receive signals, and bus 1405 may carry the signals and / or data, instructions, etc. carried by the signals to working memory 1435, from which processor 1410 retrieves and executes the instructions. The instructions received by working memory 1435 may optionally be stored on persistent storage device 1425 either before or after execution by processor 1410.
[0084]
[0097] The methods, systems, and devices described above are examples. Various configurations may omit, substitute, or add various procedures or components, as appropriate. For example, in alternative configurations, methods may be performed in an order different from that described, and / or various steps may be added, omitted, and / or combined. Also, features described with respect to particular configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves, and therefore, many of the elements are examples and do not limit the scope of the disclosure or the claims.
[0085]
[0098] Specific details are provided in the description to provide a thorough understanding of example configurations, including implementations. However, configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail to avoid obscuring the configurations. This description provides only example configurations and does not limit the scope, applicability, or configurations of the claims. Rather, the foregoing description of the configurations provides one skilled in the art with an enabling description for implementing the described techniques. Various changes can be made in the function and arrangement of elements without departing from the spirit or scope of the present disclosure.
[0086]
[0099] The configurations may also be described as processes that are shown as schematic flowcharts or block diagrams. While each operation may be described as a sequential process, many of the operations may be performed in parallel or simultaneously. The order of operations may also be rearranged. A process may have additional steps not included in the diagrams. Furthermore, the example methods may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. If implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a non-transitory computer-readable medium, such as a storage medium. A processor may perform the described tasks.
[0087]
[0100] While several exemplary embodiments have been described, various modifications, alternative configurations, and equivalents may be used without departing from the spirit of the present invention. For example, the above elements may be components of a larger system, in which case other rules may take precedence over or otherwise modify the application of the present technology. Also, some steps may be performed before, during, or after the above elements are considered. Therefore, the above description does not constrain the scope of the claims.
[0088]
[0101] As used herein and in the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, a reference to a "user" includes a plurality of such users, a reference to a "processor" includes a reference to one or more processors and equivalents thereof known to those skilled in the art, and so forth.
[0089]
[0102] Furthermore, the terms "comprise," "comprising," "contains," "containing," "include," "including," and "includes," when used in this specification and the following claims, are intended to specify the presence of stated features, integers, components, or steps, but do not exclude the presence or addition of one or more other features, integers, components, steps, acts, or groups.
Claims
1. 1. A control system for assisting in the control of construction machinery at an earthwork site, comprising: one or more processors; when executed by the one or more processors, obtaining a design elevation map of the earthwork site, the design elevation map including a plurality of design elevation points of the earthwork site; obtaining an actual elevation map of the earthwork site, the actual elevation map comprising a plurality of actual elevation points of the earthwork site; forming a double layer input graph based on the design elevation map and the actual elevation map, the double layer input graph including a plurality of nodes associated through a plurality of connections, each node of the plurality of nodes associated with a value calculated based on an elevation difference between the design elevation map and the actual elevation map, and each connection of the plurality of connections associated with a cost for moving earth within the earthwork site along the connection; generating a flow graph by solving the double-layer input graph by treating it as defining a minimum-cost flow problem, the flow graph comprising a set of flow vectors that describe the movement of the soil within the earthwork site; causing movement of the construction machine at the earthwork site in accordance with the flow graph; one or more computer-readable media storing instructions that cause the one or more processors to perform operations that include: A control system comprising:
2. The operation is For each node of the plurality of nodes, calculating the value associated with the node based on the elevation difference between the design elevation map and the actual elevation map. The control system of claim 1 further comprising:
3. The operation is For each connection of the plurality of connections, calculating the cost associated with the connection for moving the earth within the earthwork site along the connection. The control system of claim 1 or 2, further comprising:
4. 4. The control system of claim 1, wherein the plurality of nodes includes a plurality of design elevation nodes and a plurality of actual elevation nodes, each of the plurality of design elevation nodes being co-located with a corresponding one of the plurality of actual elevation nodes.
5. 5. The control system of claim 4, wherein the plurality of connections includes a plurality of cross-map connections, each of the plurality of cross-map connections extending between one of the plurality of design elevation nodes and one of the plurality of actual elevation nodes.
6. The plurality of connection portions includes a plurality of identical map connection portions, each of the plurality of identical map connection portions being: Between one of the plurality of design elevation nodes and a different one of the plurality of design elevation nodes, or between one of the plurality of actual elevation nodes and a different one of the plurality of actual elevation nodes; 5. The control system of claim 4, wherein the
7. obtaining a design elevation map of the earthwork site, the design elevation map including a plurality of design elevation points of the earthwork site; obtaining an actual elevation map of the earthwork site, the actual elevation map comprising a plurality of actual elevation points of the earthwork site; forming a double layer input graph based on the design elevation map and the actual elevation map, the double layer input graph including a plurality of nodes associated through a plurality of connections, each node of the plurality of nodes associated with a value calculated based on an elevation difference between the design elevation map and the actual elevation map, and each connection of the plurality of connections associated with a cost for moving earth within the earthwork site along the connection; generating a flow graph by solving the double-layer input graph by treating it as defining a minimum-cost flow problem, the flow graph comprising a set of flow vectors that describe the movement of the soil within the earthwork site; 10. A computer-implemented method comprising:
8. For each node of the plurality of nodes, calculating the value associated with the node based on the elevation difference between the design elevation map and the actual elevation map. The computer-implemented method of claim 7 further comprising:
9. For each connection of the plurality of connections, calculating the cost associated with the connection for moving the earth within the earthwork site along the connection. The computer-implemented method of claim 7 or 8, further comprising:
10. 10. The computer-implemented method of claim 7, wherein the plurality of nodes includes a plurality of design elevation nodes and a plurality of actual elevation nodes, each of the plurality of design elevation nodes being co-located with a corresponding one of the plurality of actual elevation nodes.
11. 11. The computer-implemented method of claim 10, wherein the plurality of connections comprises a plurality of cross-map connections, each of the plurality of cross-map connections extending between one of the plurality of design elevation nodes and one of the plurality of actual elevation nodes.
12. The plurality of connection portions includes a plurality of identical map connection portions, each of the plurality of identical map connection portions: Between one of the plurality of design elevation nodes and a different one of the plurality of design elevation nodes, or between one of the plurality of actual elevation nodes and a different one of the plurality of actual elevation nodes; The computer-implemented method of claim 10, extending
13. The computer-implemented method of claim 7 , wherein the flow graph is a bilayer flow graph including one flow vector from the set of flow vectors for each of the plurality of connections.
14. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform the computer-implemented method of any one of claims 7 to 13.
Citation Information
Patent Citations
Control system of work vehicle, method, and work vehicle
JP2019039280A
Method for generating unified three-dimensional models of complex infrastructure configurations
US20070080961A1
System and method for controlling earthmoving machines
US20190055715A1
Filling earth at a location within a dig site using an excavation vehicle
US20200032490A1
Intelligent pass jump control
US9260837B1