The present description relates to devices for use in earth-moving operations. More specifically, but not by limitation, the present description relates to a material sensing and control system for an earth-moving machine.
Many earth-moving operations utilize an earth-moving work vehicle or machine (such as a scraper, excavator, loader, dump truck, etc.) that receives earth to be moved into a bucket, container, or other accumulator having a maximum capacity based on a rated volume and/or weight. In one example, a towed scraper utilizes a height-adjustable blade that scrapes earth into the bucket. The blade is manually controlled by an operator of a towing vehicle as the machine traverses the ground.
Operating a scraper, or other earth-moving work vehicle or machine, is a highly personal skill. The tasks require an operator with considerable experience and skill and a high level of concentration to operate at an acceptable level of productivity and performance. Further, efficiency (e.g., the amount of earth moved by the work vehicle over an amount of time or per unit of fuel consumed, etc.) is one way to measure at least part of that skill. Efficiency is also one way to measure the performance of the particular machine.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
An example work machine control system includes target fill level determination logic configured to determine a target fill level for a container of an earth-moving work machine, fill level measurement logic configured to receive a sensor signal from a sensor that detects contents of the container and generate a measurement metric indicative of a current fill level of the container based on the sensor signal, and control logic configured to generate a machine control signal based on the measurement metric and the target fill level.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
The present description relates to devices for use in earth-moving operations. More specifically, but not by limitation, the present description relates to a material sensing and control system for an earth-moving machine. One example of an earth-moving machine comprises a towed scraper pulled by a towing vehicle, such as a tractor.
However, it is noted that examples described herein can be implemented using any type of earth-moving vehicle or machine, such as an excavator or scraper. These illustrative examples are given to introduce the reader to the general subject matter discussed here and are not intended to limit the scope of the disclosed concepts. The following sections describe various additional features and examples with reference to the drawings in which like numerals indicate like elements, and directional descriptions are used to describe the illustrative aspects but, like the illustrative aspects, should not be used to limit the present disclosure.
For example, while this disclosure describes measuring contents in the container or accumulator of a scraper, the contents could be in the container of any capable work machine, such as a front loader, a scraper, loader, dump truck below-ground mining equipment, or other type of machine, etc. Further, while examples are described in context of a towed scraper, that is towed by a towing vehicle such as a tractor, in some applications a scraper is carried on a traction or propulsion machine. For instance, a tractor can have integrated scraper features.
Scraper 10 includes a container 17 and a cutting edge that can be raised or lowered to control the depth of the cut, and thus the rate at which the material is accumulated in container 17. As the scraper 10 moves along a surface, the cutting edge can scrape up earth and fill the container 17. In one example, the cutting edge comprises a blade 20 which projects from the bottom of a gate 22 which is fixed relative to rear frame structure 15.
Blade 30 is raised and lowered by one or more actuators (such as blade lift cylinders 26). A blade position sensor 28 on the scraper 10 senses the position or angle of the blade 20 with respect to the front frame 11. Gate 22 is movable by one or more actuators (such as hydraulic cylinder(s)) between an open position, in which container 17 receives scraped material from blade 30 and a closed position that prevents material from entering container 17. Scraper 10 also includes an ejector configured to eject the material from container 17 during a dumping operation.
A vehicle speed sensor 42 is mounted on the tractor 12. In one example, a draft force sensor 40 is mounted on an upper surface of a tractor drawbar 16, and is configured to detect the draft force of tractor 12 on scraper 10. Alternatively, the draft force sensor 40 could be mounted in an appropriate location on the scraper tongue 14.
In one example, multiple scrapers can be towed by a towing vehicle.
In an example earth moving operation with a towed (e.g., tractor-drawn) scraper, the depth of cut of the scraper is manually controlled by an operator as the machine traverses the ground. In an attempt to improve operating efficiency, experienced operators will feather the depth of cut to prevent clutching, tractor stall or wheel slip during use. Additionally, it is often difficult for an operator to properly adjust blade position or depth at the start of, or during, a scraping operation. Further, it is often difficult for the operator to know when the scraper container or container is at or nearing the rated capacity of the scraper. This often results in the operator raising the blade and/or closing the gate too soon, or too late. The former results in an under-filled container, which requires additional passes over the terrain being scrapped, and decreases efficiency (e.g., increased fuel-consumption, increased time required, increased wear and tear on the machine. The latter, on the other hand, also can result in decreased efficiency. For instance, as an over-filled scraper continues its pass along the terrain, the blade pushes the earth off to the side rather than into the over-filled accumulator and/or earth is spilled from the over-filled accumulator. Further, an over-filled scraper also causes undesired fuel consumption and wear and tear on the towing machine (e.g., tires, engine, etc.) and/or the towed scraper itself.
As can be seen, these tasks require an operator with considerable experience and skill and a high level of concentration to operate at an acceptable level of productivity and performance.
Certain examples and features of the present disclosure related to a sensing and control system for an earth-moving machine. In described examples, the system detects a target fill level for the scraper. This can be done manually, automatically, or semi-automatically. As the scraper traverses the terrain during a scraping operation, the system detects the actual fill level of the scraper and generates control outputs for controlling the scraper and/or towing vehicle. For instance, the system can automatically control functionality of the scraper blade, scraper gate, and/or propulsion system of the towing vehicle. Alternatively, or in addition, the system can control input/output devices in the operator compartment of the towing vehicle, to guide or otherwise assist the operator in controlling the towing vehicle and scraper. For instance, the control system can automatically control user interface mechanisms, such as steering wheels, levers, pedals, display devices, user interfaces, etc. For example, when an operator interacts with a user interface mechanism, control logic can generate a control signal to perform the operator indicated action.
Further, the productivity of material moved by a work vehicle or a group of work vehicles at a work site can be monitored. Volume sensors can be used to improve volume estimation accuracy and ease. Costs and inconvenience can be reduced, as compared to other volume estimation solutions, such as position sensors and weighting sensors.
In some examples, the performance of the work vehicle operator can be measured by recording the total volume of the material moved throughout the operation and generating a histogram of the measured volume of the material. In addition or alternatively, volume estimation metrics and visualizations can be displayed as one or more of (i) a 3D point cloud of the container, material, and the surrounding environment, (ii) images from the stereo camera, or (iii) metrics, such as volume estimation, variance, totals, container position, container velocity, etc.
Machine 104 can also include user interface mechanism(s) 122, one or more processor(s) 124, and can include other items 126 as well. Mechanism(s) 122 include both input and output mechanisms, and be a wide variety of user interface components that allow a user to interface with the other portions of machines 102 and/or 104. For instance, they can include levers, switches, wheels, joysticks, buttons, a steering wheel, pedals, etc. They can also include microphones with speech recognition systems and natural language processing systems, to process speech inputs. They can include user input mechanisms that can be actuated from a user interface display. For instance, they can be icons, links, drop down menus, radio buttons, text boxes, or a wide variety of other user input mechanisms that can be actuated by a user, on a user interface display screen.
Further, machine 104 can be coupled to (e.g., mechanically, electrically, and/or communicatively), and configured to tow, one or more other earth moving work machines 105, such as in a tandem configuration shown in
Of course, as noted above, in other examples earth-moving work machine 102 can be self-propelled. That is, it is not towed by a towing vehicle, but is self-propelled (e.g., it includes its own traction unit and corresponding operator controls).
Work machine 102 includes a container 128 configured to accumulate and carry earth material, sensor(s) 130, controllable subsystem(s) 132, processor(s) 134, and can include other items as well, as indicated by block 136. As illustrated, controllable subsystem(s) include movable elements 138, which include a blade 140, a gate 142, and include other items 144. Movable elements 138 can be moved by one or more actuators 146, such as hydraulic cylinders or other types of actuators. Examples of blade 140 and gate 142, and corresponding actuators, are described above with respect to
Sensors 130 can include one or more of a volume sensor 150, a pressure sensor 151, a geographic position sensor 152, a gate position sensor 154, a blade position sensor 156, and can include other sensors as well, as indicated by block 157.
Volume sensor(s) 150 are configured to sense contents in container 128, for use in determining a current volume of the material in container 128.
An example volume sensor includes, but is not limited to, a three-dimensional (3D) sensor, such as a stereo camera or a laser scanner, that captures images (or data) of contents in container 128 that are, at least in part, indicative of a volume of the contents. In one example, 3D sensor 150 includes a lidar array that senses heights and volumes of points that correspond with the contents in container 128.
As discussed in further detail below, to sense the volume, one example process includes measuring 3D points, with the 3D sensor, that represent the surface of material carried by the container of a work machine. Briefly, the 3D points that correspond to the material carried by the container can be processed to generate a 3D point cloud that is compared to 3D points (or other model) that correspond to the container 128, to determine a volume of the contents.
In other examples, the sensor can be a different type of sensor (e.g., a fixed, scanning, or flash laser mounted on the work vehicle) that can use time-of-flight principles to capture the 3D points.
In one example, the volume of material can be calculated using the 3D points corresponding to the material carried by the container using (i) the orientation or location of the carrier relative to the sensor and (ii) a 3D shape of the container. For example, the volume can be calculated as a difference in the surface of the material in container 128 from a reference surface (e.g., the container interior) that represents a known volume.
In one example, pressure sensors 151 are coupled to one or more actuators 146 to sense a pressure in an actuator 146. A weight of contents in the container 128 can be accurately calculated with pressure sensor(s) 151 by knowing some machine parameters. For instance, to sense a weight, the weight sensor can determine a hydraulic pressure required to support the container 128 and its contents. The hydraulic pressure typically is indicative of the total weight supported by the hydraulic cylinder. However, since the machine components have known weights and geometries they can be factored out of the total weight resulting in a reliable weight of the contents in container 128.
Geographic position sensor 152 is configured to generate a signal indicative of a geographic location of machine 102. As discussed in further detail below, this position can be correlated to the scraping operation that collects earth material in container 128. Examples of sensor 152 include, but are not limited to, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system.
Gate position sensor 154 is configured to sense a position of gate 142, and blade position sensor 156 is configured to sense a position of blade 140, which is indicative of a depth of a cut being made by machine 102.
System 100 also includes a machine control system 160 comprising sensing functionality configured to sense operational characteristics of machines 102 and/or 104, and control functionality configured to control machines 102 and/or 104 based on those operational characteristics. It is noted that machine control system 160 is illustrated in
Machine control system 160 includes target fill level determination logic 166, a fill level measurement logic 168, remaining capacity determination logic 170, control logic 172, communication logic 174, a data store 176, one or more processors 178, a performance metric generator 179, and can include other items 180 as well.
Briefly, control logic 172 is configured to control one or more of controllable subsystem(s) 132 and 116, and communication logic 174 is configured to communicate with other systems/machines. For instance, using communication logic 174, machine control system 160 can communicate with machine 102, machine 104, machine(s) 105, and/or a remote system 182. Data store 176 can store machine parameters, such as, but not limited to, characteristics of machine 102 including maximum capacity information for container 128. Data store 176 can also include operational parameters, such as geo-referenced material data that represents past scraping operation(s). Fill level measurement logic 168 is configured to measure a current fill level of (e.g., volume of contents in) container 128, based on signals from sensor(s) 160.
Fill level measurement logic 168 estimates a volume of material (e.g. earth) in container 128 using a non-contact measurement system. The system includes 3D sensor 150, such as a stereo camera (which may be referred to as a stereoscopic camera) or a laser scanner. The 3D sensor 150 can capture images of the contents of container 128. The images can be converted to a 3D point cloud, which is compared to a known point cloud, mathematical model, or CAD model representing container 128 and different volumes of contents to determine the volume of content in container 128.
In one example, the volume estimation system includes the stereo camera mounted with the container of the earth-moving work machine in its field of view. One example is shown in
Referring again to
In some examples, the surface of the material can be extrapolated when the material is unobservable by the non-contact sensor by measuring an angle of repose of the material. The 3D points may also include other surfaces both within the container 128 and the surrounding environment that is within the field of view of the sensor. The 3D points that correspond to the material carried by container 128 can be determined and the 3D points that correspond to the container itself can be determined. The 3D points that do not correspond to material carried by the container or the container itself can be filtered out. For example, 3D points representing dust or other airborne obscurerants can be filtered out. For example, the volume can be calculated as a difference from a reference surface that represents a known volume. Other sensor inputs, such as position, speed, and pressure, from sensors on the work vehicle can also be used.
The system can differentiate between the material carried by the container and other material or objects using the appearance (such as from color data) and the location of the 3D points. Filtering out non-container and non-carried material can use both a depth image of the field of view and the appearance of the images captured by the stereo camera. The geometry of the shape of the container can be modeled. One process to model the shape of the carrier includes measuring by the sensor the 3D points that correspond to the container when the container is empty—i.e., there is no material in the container—such as through a calibration process. The 3D points are filtered to determine the boundaries of the container. A mathematical representation of the container is generated by processing the measured 3D points. Segments of the 3D points corresponding to various geometric components of container 128 are generated. Examples of segments include a back plate, side sheets, an inner surface, for container 128. The model can also be generated using a 3D CAD drawing of the container. Each of the geometric components of the container can be determined by the appearance and relative position and orientation with reference to the sensor, of the respective geometric component. The geometry of the shape of the container can be modeled from an onboard or off-board storage device.
Performance metric generator 179 is configured to run performance analysis on the data generated by system 100, and to generate performance metrics or scores, which can be indicative of performance (e.g., productivity, efficiency, etc.) of machines 102 and/or 104, and/or of operator 112. The performance metrics can be generated on a per-load basis (e.g., an individual pass), a per-project basis (e.g., multiple passes), or otherwise.
In one example, generator 179 obtains raw data from a plurality of machine sensors, along with a plurality of environment sensors. Raw data can also be obtained from other machine data sources. By way of example, machine sensors can include a wide variety of different sensors that sense operating parameters and machine conditions on machines 102 and/104. For instance, they can include speed sensors, mass flow sensors, various pressure sensors, pump displacement sensors, engine sensors that sense various engine parameters, fuel consumption sensors, among a wide variety of other sensors. Environment sensors can also include a wide variety of different sensors that sense different things regarding the environment of machine 102.
One example performance metric measures productivity by volume and/or time, and can be generated in real-time, or substantially real-time. For instance, a performance metric can be generated based on a deviation of scraper load(s) from the target fill level (i.e., was the container over-filled or under-filled relative to the target volume). Further, this can be correlated to with fuel consumption to generate a measure of fuel efficiency relative to scraper productivity.
In one example, the performance metric indicates a deviation of fuel consumption from an expected or average fuel consumption for the machine, given the operational and environmental conditions (terrain level or slope, soil conditions, machine type, etc.).
Further, the performance data can be fed back to system 100, and used to adjust the operation, settings, or other control parameters for machines 102 and/or 104, on-the-fly, in order to improve the overall performance. It can also be used to display information to operator 112, indicating the performance scores, along with recommendations of how operator 112 should change the settings, control parameters, or other operator inputs, in order to improve the performance.
In one example, performance metric(s) are generated on a per-operator basis, and can be correlated and/or compared to other operators. A comparison component can compare derived data for operator 112 against reference data. The reference data can include a plurality of different reference data sets and it can also include user preferences. The reference data sets can be used to compare the derived data of operator 112 against the operator's historical derived data, against data for other operators in the same fleet as operator 112, or against another set of relevant reference data. The comparison component can provide an output indicative of that comparison, and a classifier component can classify that output into one of a plurality of different performance ranges (such as good, medium or poor, although these are exemplary and more, fewer, or different ranges can be used).
The volume estimation system 400 includes a sensing portion 402, a calibration portion 404, and a volume estimation portion 405, along with a user interface 406 for outputting data to a user or another system. In one example, the calibration portion 404 and/or the volume estimation portion 405 can be implemented by a processor device, such as processor 178 of
The image data, in color and with depth information, can be provided to the calibration portion 404 and the volume estimation portion 405. In some examples, the image data of the container without material in it can be provided only to the calibration portion 404, and image data acquired subsequently that includes images of the container with material in it can be provided only to the volume estimation portion 405.
The calibration portion 404 can generate a model of the container using the image data. The model can be in the form of a 3D point cloud that represents the components of the container, and may have information about volumes if material were at different levels in the container. The calibration portion 404 includes a container segmentation module 416 that can segment the image data to determine the components of the container and the positions of the container relative to each other. For example, the container segmentation module 416 can analyze pixel data in the images to identify the back of the container, and the front of the container, the sides of the container. That information can be provided to the container modeling module 418 that can generate the model of the container as a configuration file. The configuration file can have information about the container in a 3D point cloud arrangement. In general, the configuration file can store various parameters (e.g., container capacity, dimensions, mathematical model coefficients, etc.) regarding each component of the software. The configuration file can also be outputted via the user interface 406.
The model can be used by a volume computation module 420 in the volume estimation portion 405 to estimate a volume of material in the container. Image data can be received by a soil segmentation module 422, which can determine whether material represented in the image data is in the container or if it is in the background or another part of the image.
The image data representing material in the container can be provided to the volume computation module 420, which can compare that image data to the configuration file to output an estimate of the volume of the material in the container. The estimate of the volume can be provided to the user interface 406, which may be a display device that can output a visual representation of the volume estimation. In another example, the estimate is provided to control logic, such as control logic 174, for use in automated, or semi-automated, control of the machine.
The images and the depth information are filtered using a 3D filtering process 508. For example, the filtering process 508 can remove speckles that are flying points or debris in the area, or other visual representations of objects that are not within the container. The filtering process 508 can include performing a speckle reduction process on the images. The filtered 3D data is used to determine a volume measurement 510 of the contents within the container. The volume 512 can be outputted to a display device or to a database for storage.
In block 610, a grid map of a 3D point cloud is updated using stereo or disparity images 611 captured by the camera of the container with material in it. The updated grid and the container model are provided to block 612 for further processing. The grid map can be updated with each new image frame that is captured by the camera.
For each point in the grid map, a look-up table is used that defines container limits. The look-up table can be used, for example, in a segmenting process to identify the points from the grid map that are in the container, as opposed to points representing the container itself, background images, or speckle artifacts in the image data.
For each point in the grid map that is identified as a point that is in the container, the height associated with that point can be determined in block 616. In one example, the height for a point can be determined using the model of the container to determine depth information of a point positioned in a particular location in the container.
In block 618, the height information for the points can be used to compute the volume of the points within the container, and thus the volume of the material in the container. In one example, the volume for each point is determined, and then the volume for the points in the container are summed to compute the volume for the material in the container.
The modules can include system inputs 802, such as a configuration file 804, image data 808, and a 3D point cloud 810. The configuration file 804 can include information about a particular container being used on the associated work vehicle. The information can include a minimum volume of the container, a maximum volume of the container, a maximum weight for the container (e.g., based on ratings of the work vehicle) and a process for calculating scoop volume, among other possible data. The image data 808 can include images of the container from the camera. The 3D point cloud 810 includes a model or representation of one or more of the images of the image data 808.
The system inputs 802 are provided to addition modules. The additional modules include visual odometry 812, dig depth calculation 814, and instantaneous volume measurement 816. The visual odometry module 812 can use image data, 3D data, vehicle sensor data, or any combination of these to produce a magnitude and a direction of lateral and longitudinal motion. The output can be provided to a dig cycle identification module 818 and can be used to determine whether the operator is digging the soil or moving the machine for another purpose. In the case of a scraper, the dig depth calculation 814 include processes for outputting a dig depth of a blade of the scraper to the dig cycle identification module 818. The relevant container can be identified, which may include analyzing image data to identify pixels or points within the image that corresponds to the container. The ground level can be identified by analyzing the image data to identify the pixels or points representative of the ground.
The dig cycle identification module 818 can receive data and signals generated by other modules to identify the dig cycle associated with the data. An example dig cycle for a scraper begins when the blade enters the earth and ends when the gate is closed and/or the blade is raised out of the earth.
The instantaneous volume measurement 816 can calculate a time-stamped volume measurement based on the system inputs 802. The instantaneous volume measurement can be provided to represent a volume estimate of contents in the container.
At block 902, a target fill level for a container of each of the one or more scraper machines is detected. For example, target fill level determination logic 166 determines a target volume for container 128, as well as container(s) for any other scrapers. This can be based on manual input from operator 112 through operator interface 114. This is represented by block 904. For instance, operator 112 can input a target volume (e.g., in cubic yards, etc.) for each scraper through user input mechanisms 122 on a support work machine 104. Alternatively, or in addition, detection of the target fill level can be done by logic 166 automatically, semi-automatically, or a combination of manual inputs and automatic processes of control system 168. This is represented by block 906. One example of target fill level determination is discussed below with respect to
It is noted that in implementations in which multiple scrapers are towed (or otherwise conveyed) in series, it may be that some of the machines have different target fill levels that other machines, due to differences in the structural characteristics of the machines (e.g., different weight capacities). In one example, machine control system 160 determines, based on user input and/or automatically, how many scrapers are coupled to support work machine 104. This can be done in a number of ways. For instance, an operator can manually conFIG. the number of scrapers, and their order, by user input user input mechanisms 122. In another example, a first scraper, that is closest to work machine 104, can determine, programmatically, that it is plugged directed into a CAN bus of support work machine 104. Then, the order of addition scrapers, behind the first scraper, can be determined, programmatically, based on their connections to one another.
At block 910, an earth-moving operation is begun. In the present scraper example, a dig cycle begins by placing machine 102 in a dig mode. This is represented by block 912. Beginning the earth-moving operation can be in response to a manual input, such as operator 112 actuating user input mechanism(s) 122 to begin the dig cycle in which gate 142 is raised and blade 140 is lowered to a desired dig depth. This is represented by block 914.
In one example, the earth-moving operation at block 910 can be initiated by machine control system 160 automatically. This is represented by block 916. For instance, using information from a previous earth-moving operation, machine control system 160 can identify a geographic location at which blade 140 should be lowered into the soil to begin the current dig cycle. This location corresponds to an endpoint of a prior dig cycle performed by work machine 102 during a previous pass over the terrain, or by a different work machine on a prior pass. For example, the other work machine can be a scraper towed in front of work machine 102, such as the example shown in the tandem configuration of
Of course, the earth-moving operation can be initiated in other ways as well. This is represented by block 918.
At block 920, the fill level of the container is sensed. For example, fill level measurement logic 168 receives signals from volume sensors 150, such as a stereo camera that images the material in container 128. Using the signals, fill level measurement logic 168 measures the current volume of material in container 128. Examples of volume determination are discussed above.
At block 922, a remaining capacity of the container is determined. For example, remaining capacity determination logic 170 receives an indication of the target fill level, determined by logic 166, and the current fill level determined by logic 168. Based on these indications, logic 170 determines an amount of remaining capacity for container 128. This can be determined as a numerical value, such as a number of cubic yards remaining, or some other indication of remaining capacity.
Based on the sensed fill level, sensed at block 920, and/or the remaining capacity determined at block 922, a machine control signal is generated. This is represented by block 924. For example, control logic 172 can control one or more components of system 100.
In one example, an output is rendered to operator 112, through user input mechanisms 122 on support work machine 104. This is represented by block 926. One example of a user interface is shown in
In one example, one or more subsystems of the earth-moving machine are automatically controlled. This is represented by block 928. For example, one or more of controllable subsystems 132 can be controlled by control logic 172. A control signal is sent, in one example, to machine 102 using communication logic 174. Of course, as noted above, one or more components of machine control system 160 can reside on work machine 102, and control logic 172 can control controllable subsystems 132 directly through local communication. For example, a CAN bus signal can be triggered to operate gate 142 to close and to lift the scraper blade 140.
Examples of machine control are described below in the context of
In implementations in which the earth-moving work machine is towed by a support work machine (e.g., support work machine 104), control logic 172 can control one or more controllable subsystems (e.g., controllable subsystems 116) on that support work machine. This is represented by block 930. For instance, control logic 172 can control a propulsion system or traction unit 118 of the support work machine 104. This can include automatically controlling steering mechanisms, engine speed, transmission settings, etc. Control logic 172 can control work machine system 100 in other ways as well. This is indicated by block 932.
At block 934, if the current dig cycle is continued due to remaining capacity in container 128, the method returns to block 920 in which the fill level of container 128 is re-determined. In one example, this can include updating the target fill level, which is represented by block 936. As discussed in further detail below, the target fill level can be updated due to detected changes in the earth-moving operation, such as changing characteristics in the soil.
If the dig cycle is ended at block 934, method 900 can determine whether there are additional earth-moving machines, such as additional scrapers being towed in series behind machine 102. This is represented by block 936. If additional earth-moving machines are identified, the method returns to block 910 to begin an earth-moving operation with another earth-moving machine(s).
At block 1002, machine parameters are detected. For instance, target level determination logic 166 can receive characteristics of container 128 from data store 176, work machine 102, or work machine 104. This is represented by block 1004. In one example, this includes determining a weight capacity of container 128 and/or machine 102. This is represented by block 1006.
At block 1008, characteristics of the earth to be moved are detected. This can be done manually, such as operator input from another system, such as remote system 182. This is represented by block 1010. In one particular example, at block 1010, operator 112 inputs a type of soil to be moved by machine 102 and/or an estimated density of that material.
Alternatively, or in addition, the characteristics can be detected automatically. This is represented by block 1012. For example, soil sensors on machine 102 and/or 104 are utilized to detect the type of soil and/or density of the soil, or to detect any other desired characteristics of the soil to be used in determining the target fill level. The characteristics can be detected in other ways as well. This is represented by block 1014.
At block 1016, the target fill level is calculated. In one example, logic 166 determines the target volume for container 128 based on the weight capacity of container 128 and the estimated weight per volume, or density, of the earth to be moved. This calculated target fill level can then be provided to remaining capacity determination logic 170, as mentioned above. The target fill level can be updated dynamically during an earth-moving operation (e.g., while a scraper is scraper soil into container 128). This is represented by block 1018. For instance, the type of soil may change from sand to clay, as the scraper passes along the terrain. This change in soil can lower the target fill level for container 128.
At block 1102, an indication of target fill level is received. For example, an indication of a target volume for container 128 is received by logic 70 and/or 72 from logic 166. At block 1104, an indication of the sensed fill level, indicating the current volume of material in container 128 is received. In one example, this indication is received from fill level measurement logic 168 by logic 170 and/or 172.
At block 1106, the fill rate and remaining capacity of container 128 are determined. The remaining capacity can be determined based on an indication from logic 170. Further, the fill rate can be determined based on the rate at which the earth material is entering container 128 due to the depth of blade 140.
At block 1108, a dig cycle time is determined. The dig cycle time is indicative of a time remaining for container 128 to reach the target fill level. This is based on the remaining capacity and fill rate determined at block 1106. For instance, if the target fill level of container 128 is twenty-four cubic yards and the current fill level is twenty cubic yards, the method determines that there are four cubic yards of capacity remaining Further, assuming the fill rate is a quarter cubic yards per second, the method determines that container 128 will be filled in approximately sixteen seconds.
At block 1110, one or more subsystems of earth-moving work machine 102 are automatically controlled. For instance, the dig depth can be controlled by actuating hydraulic cylinder(s) to move blade 140 in an upward direction, to a position that is out of the soil, thus ending the dig cycle. This is represented by block 1112. In one example, control of the blade depth is based on the determined dig cycle time, determined at block 1108. In the above example, control logic 172 controls the hydraulic cylinder based on the dig cycle time, so that the blade exits the soil as the fill level approaches the target fill level. Also, gate 142 can be controlled by control logic 172. In conjunction with the raising of the blade, gate 142 can also be controlled by controlling corresponding actuator(s). This is represented by block 1114.
In an implementation in which earth-moving work machine 102 is towed, or otherwise supported by, a support work machine, control logic 172 can also control the support work machine. This is represented by block 1118. For example, as illustrated at block 1120, a user interface on machine 104 can be controlled to render an indication of the current fill level, remaining capacity, dig cycle time, or any other information, to operator 112. Alternatively, or in addition, control logic 172 can be configured to control user interface mechanism(s) 122 to render control instructions to operator 112 to guide operator 112 in controlling machine 104. For instance, control logic 172 can control the propulsion system of a towing tractor. This is represented by block 1122. Examples include, but are not limited to, controlling engine speed, transmission settings (e.g., gear selection), steering mechanisms, to name a few.
In one particular example, the engine speed and transmission gear are adjusted as the volume of container 128 approaches the target fill level, to account for increased force required in towing machine 102. Further, as the dig cycle is ended (represented by block 1124), control logic 172 can switch machine 104 from a dig mode into a transport mode, which changes the engine speed and transmission gear of the machine.
At block 1126, geographic information for the dig cycle can be stored. For instance, dig cycle information can be geo-referenced based on signals from geographic position sensor(s) 152. This can include determining a geographic location of the beginning of the dig cycle and/or the end of the dig cycle (i.e., where the blade 140 left the ground, thus finishing the cut). The data received during, or generated by, method 1100 can be stored and/or sent to other components of system 100. This is represented by block 1128. For instance, information pertaining to performance of the operator during the digging operation can be sent to remote system 182 for performance analysis. Examples are discussed in further detail below. In one example, the geographic location of the end of the dig cycle is stored and used in a next dig cycle.
For instance, at block 1130, the method determines whether there are any additional earth-moving machine(s) and/or earth-moving operation(s) to be performed. This is represented by block 1130. For instance, this can include determining that work machine 102 is a towed scraper, towed in a series of scrapers by towing machine 104. In this manner, block 1130 determines that there is at least one additional scraper positioned behind machine 102 that is to perform a subsequent digging operation. Alternatively, or in addition, the next dig cycle can be performed by work machine 102 during a subsequent pass over the terrain (i.e., after container 128 is dumped) or by another scraper being towed by a different towing machine.
At block 1132, the geographic location for the next dig cycle is obtained. As mentioned above, this geographic location corresponds to an ending location of a prior dig cycle.
At block 1134, the next dig cycle is initiated to begin the cut at the ending position of the prior dig cycle.
At block 1136, when the method determines that there are no more earth-moving machines to be filled, the method places support work machine 104 in a transport mode. This can include automatically controlling the propulsion system to change the engine speed and transmission. This is represented by block 1138. Placing the machine in a transport mode can be done manually, as indicated by block 1140, or automatically, indicated by block 1142.
As noted above, the data obtained during the earth-moving operation can be analyzed by performance metric generator 179, to generate performance metrics indicative of performance of system 100 and/or operator 112. Alternatively, or in addition, the data can be sent to remote system 182, or another component of system 100, for storage and/or analysis. This is represented by block 1144.
It can thus be seen that the present system provides a number of advantages. For example, it increases the efficiency and productivity of an earth-moving work machine, such as a scraper. A machine control system of the present disclose provides an operator with real-time, or near real-time, volume information for a container of the machine, and/or automatically controls aspects of the machine itself, relative to a target fill level or volume for the machine. By reducing the likelihood that the container is under-filled, the present system improves efficiency and productively by reducing the number of passes required by the machine(s) on the worksite (and corresponding transport trips to a dump site). This reducing the time required to complete the earth-moving job, as well as reduces fuel consumption. Further, if an over-filled scraper continues to dig, the blade often simply pushes the soil, rather than accumulating it in the over-filled scraper. This results in wasted fuel and time, and unnecessary wear and tear on the scraper itself, as well as the traction unit (e.g., a towing tractor).
It will be noted that the above discussion has described a variety of different systems, components and/or logic. It will be appreciated that such systems, components and/or logic can be comprised of hardware items (such as processors and associated memory, or other processing components, some of which are described below) that perform the functions associated with those systems, components and/or logic. In addition, the systems, components and/or logic can be comprised of software that is loaded into a memory and is subsequently executed by a processor or server, or other computing component, as described below. The systems, components and/or logic can also be comprised of different combinations of hardware, software, firmware, etc., some examples of which are described below. These are only some examples of different structures that can be used to form the systems, components and/or logic described above. Other structures can be used as well.
The present discussion has mentioned processors and servers. In one example, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
Also, a number of user interface displays have been discussed. They can take a wide variety of different forms and can have a wide variety of different user actuatable input mechanisms disposed thereon. For instance, the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. They can also be actuated in a wide variety of different ways. For instance, they can be actuated using a point and click device (such as a track ball or mouse). They can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. They can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which they are displayed is a touch sensitive screen, they can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, they can be actuated using speech commands.
A number of data stores have also been discussed. It will be noted they can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
Also, the FIGS. show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
In the example shown in
It will also be noted that the elements of
For instance, client device 1216 can be deployed in the operator compartment of work machine 104 for use in generating, processing, or displaying the sensed material data and/or performance/productivity data.
In device 1216, a communications link 1213 is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning. Examples of communications link 1213 include allowing communication though one or more communication protocols, such as wireless services used to provide cellular access to a network, as well as protocols that provide local wireless connections to networks.
Under other embodiments, applications can be received on a removable Secure Digital (SD) card that is connected to an interface 1215. Interface 1215 and communication links 1213 communicate with a processor 1217 (which can also embody processors 178, 134, and/or 124 from
I/O components 1223, in one example, are provided to facilitate input and output operations. I/O components 1223 for various embodiments of the device 1216 can include input components such as buttons, touch sensors, optical sensors, microphones, touch screens, proximity sensors, accelerometers, orientation sensors and output components such as a display device, a speaker, and or a printer port. Other I/O components 1223 can be used as well.
Clock 1225 illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor 1217.
Location system 1227 illustratively includes a component that outputs a current geographical location of device 1216. This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
Memory 21 stores operating system 1229, network settings 1231, applications 1233, application configuration settings 1235, data store 1237, communication drivers 1239, and communication configuration settings 1241. Memory 1221 can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below). Memory 1221 stores computer readable instructions that, when executed by processor 1217, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor 1217 can be activated by other components to facilitate their functionality as well.
Computer 1410 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 1410 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 1410. Communication media may embody computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
The system memory 1430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1431 and random access memory (RAM) 1432. A basic input/output system 1433 (BIOS), containing the basic routines that help to transfer information between elements within computer 1410, such as during start-up, is typically stored in ROM 1431. RAM 1432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1420. By way of example, and not limitation,
The computer 1410 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (e.g., ASICs), Program-specific Standard Products (e.g., ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 1410 through input devices such as a keyboard 1462, a microphone 1463, and a pointing device 1461, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 1420 through a user input interface 1460 that is coupled to the system bus, but may be connected by other interface and bus structures. A visual display 1491 or other type of display device is also connected to the system bus 1421 via an interface, such as a video interface 1490. In addition to the monitor, computers may also include other peripheral output devices such as speakers 1497 and printer 1496, which may be connected through an output peripheral interface 1495.
The computer 1410 is operated in a networked environment using logical connections (such as a local area network—LAN, or wide area network WAN) to one or more remote computers, such as a remote computer 1480.
When used in a LAN networking environment, the computer 1410 is connected to the LAN 1471 through a network interface or adapter 1470. When used in a WAN networking environment, the computer 1410 typically includes a modem 1472 or other means for establishing communications over the WAN 1473, such as the Internet. In a networked environment, program modules may be stored in a remote memory storage device.
Machine control system 1560 is similar to machine control system 160 described above except that machine control system 1560 comprises target fill level determination logic 1566 in place of target fill level determination logic 166 and comprises fill measurement logic 1568 in place of fill level measurement logic 168. Those remaining components shown in
Fill measurement logic 1568 comprises hardware or software logic (as described above with respect to at least
In another implementation, fill measurement logic 1568 receives signals that indicate a weight of the earth material within container 128. In such an implementation, fill sensor 1570 may comprise a sensor that detects the weight of the earth material within container 128. For example, in one implementation, fill sensor 1570 may sense a weight of at least a portion of machine 102 and its earth material contents, wherein such signals indicate the weight of the earth material within container 128 (the weight of the earth material within container 128 may be determined by subtracting the predetermined known weight of container 128 when empty from the at least partially filled container weight). As will be described hereafter, the signals from fill sensor 1570 as received by fill measurement logic 1568 are used by target fill level determination logic 1566 to identify a current fill target for container 128.
Target fill level determination logic 1566 correlates the rate at which earth material is gathered by earthmoving work machine 102 to the dynamically changing cost associated with gathering the earth material or content. For example, the costs associated with gathering a cubic foot or pound of earth material may not be linear over time, but may vary depending upon variations in fuel consumption caused by the increasing weight of the load as the container 128 is being filled, variations in the topography of the terrain and the density or moisture level of the earth material currently being gathered. In addition, the cost associated with gathering a cubic foot or pound of earth material may also vary due to changes in the amount of time required to gather the cubic foot or pound of earth material. For example, the gathering of earth material may proceed at a slower rate, a lesser amount of earth material gathered per unit time, as container 128 becomes filled. These variations in fuel cost and time may impact what should be the fill target. Target fill level determination logic 1566 dynamically and automatically takes into account the changing cost to identify a fill target for container 128, such as a target fill percentage or target fill weight, that minimizes the total cost or that satisfies a predetermined cost threshold.
Target fill level determination logic 1566 comprises cost factor logic 1574, cost variable logic 1576 and fill target logic 1578. Cost factor logic 1574 comprises hardware or software logic that obtains cost factors 1580 associated with the gathering of earth material by machine 102. Examples of cost factors include, but are not limited to, fuel cost, hourly cost for operator 112 (shown in
Cost variable logic 1576 comprises hardware or software logic that obtains signals from consumption sensor 1582, wherein such signals indicate a consumption variable associated with a cost factor 1580. For example, consumption sensor 1582 may comprise a fuel consumption sensor that senses the consumption of fuel by support work machine 104 and/or earthmoving work machine 102, wherein the fuel consumption variable corresponds to the fuel cost factor. Consumption sensor 1582 may additionally or alternatively comprise a timer or clock which measures the consumption of time during the gathering of earth material or when system 100 is no longer currently gathering earth material, but is transporting the gathered earth material to a destination. The time consumption variable corresponds to the hourly cost factor for the operator 112, the use of machine 102 and/or the use of machine 104. In one implementation, the clock or timer may be carried by machine 102 or machine 104 or may be at a remote location and wireless communication with system 160.
Fill target logic 1578 comprises hardware or software logic configured to determine a target fill level for container 128 based upon at least one cost factor 1580, at least one associated consumption variable provided by sensor 1582 and the fill level signals provided by fill measurement logic 1568. For each of multiple predefined periods of time during a fill cycle, fill target logic 1578 uses signals from fill measurement logic 1568 to determine a volume or weight of earth material gathered during the period of time, thereby determining a fill rate for the period of time.
For each of the multiple predefined periods of time, fill target logic 1578 further uses signals from cost variable logic 1576 and the associated cost factors from cost factor logic 1574 to determine at least one cost associated with the volume or weight of the earth material gathered during the period of time. Each individual period of time corresponds to a particular fill level of container 128. For example, periods of time at the beginning of the fill cycle are associated with lower fill levels while periods of time towards the end of the fill cycle are associate with higher fill levels.
In one implementation, fill target logic 1578 sums the hourly cost and the fuel consumption cost of gathering material for each period of time to determine a total cost for a unit of earth material associated with each of the different fill levels of container 128. By comparing the different costs associated with gathering individual units of earth material at particular corresponding fill weights or fill volumes of container 128, fill target logic 1578 may identify the particular fill weight or fill volume of container 128 at which the per unit cost satisfies predefined criteria to identify the fill target, the particular target fill weight or target fill volume of container 128 that should be used for a subsequent fill cycle.
The identified fill target is then communicated to control logic 172 (described above). Control logic 172 uses the identified fill target as a basis for determining when to automatically output control signals to earthmoving work machine 102. Such control signals may automatically end a cycle as described above such as by lifting of the blade 140 and closing the gate 142.
In some implementations, control logic 172 uses the identified fill target as a basis for notifying operator 112 through operator interface 114. For example, in response to the fill target being approached or being satisfied (as determined from fill level measurement logic 168 or remaining capacity determination logic 170), control logic 172 may output control signals operator interface 114 notifying the operator 112 that blade 140 should be lifted or gate 142 should be closed/lowered. Such a notification may be visibly presented on a display or audibly presented via a speaker.
In some implementations, fill target logic 1578 additionally determines the cost per unit of gathered content/earth material for a given fill weight or fill percentage based upon the current location of the earthmoving work machine 102 and/or support work machine 104 from a destination for the gathered earth material or content. For example, depending upon where the cycle is stopped (when the blade is lifted and the gate closed), fuel and time may still be consumed to move the earthmoving work machine 102 and its gathered contents to the destination. During such time, even though earth material or content is no longer being gathered, fuel and time are still being consumed. In some circumstances, continuing to gather earth material or content as machine 102 is moving towards the destination may result in little additional cost as compared to moving towards the destination while not gathering any additional earth material. In such an implementation, location logic 1586 continuously or periodically receives the current geographical location of machine 102 (from sensor(s) 152) in convey such signals to fill target logic 1578. Fill target logic 1578 determines the distance to the destination for the earth material (or other intermediate destination, such as the exit of a field). Fill target logic 1578 further determines the amount of time, the amount of fuel and the associated costs for traveling the distance to the destination. Fill target logic 1578 accounts for this cost when determining the per unit of earth material cost and when determining the fill target.
In one implementation, fill target logic 1578 selects the fill target FT by identifying a fill level prior to which the cost per unit of earth material gathered begins accelerating beyond a predetermined acceleration rate. In another implementation, fill target logic 1578 selects the fill target FT by identifying a cost per unit of earth material that satisfies a predefined cost per unit of material threshold as provided by operator 112. In other implementations, fill target logic 1578 determines a fill target FT by analyzing past work cycles for a feasible fill target FT that minimizes cost per unit of earth material for the entire work cycle in the current operating conditions. In one implementation, the fill level of the “best” prior work cycle is chosen as the fill target FT. In other implementations, the fill target FT is chosen based on statistics of multiple past work cycles (like average or median) , wherein the chosen fill target performs at least as good as the average. In one implementation, only the work cycles from the current day are used so that the system can assume the working conditions are relatively consistent.
In other implementations, the operator or controller may select and input a window of time to define what prior fill cycles are used to determine the upcoming fill target FT. The window of time chosen may be a window of less than 5 hours before the current time. The window of time may be the past week up to the current time. The window of time may be an earlier window of time not leading up to the current time, such as a window of time which ended days, weeks or months ago, wherein the earlier window of time selected by the operator or chosen by the controller (based upon sensed environmental or soil conditions from sensors) had sensed environmental conditions similar to the current sensed environment or soil conditions (moisture, density and the like) as determined by the operator or controller.
In one implementation, fill target logic 1578 sums the hourly cost per unit of earth material and the fuel cost per unit of earth material to determine the total cost per unit of earth material, wherein the changing values for the total cost per unit of earth material over a single fill cycle are used to identify the fill target FT for subsequent fill cycles. In some implementations, fill target logic 1578 determines a relationship between the cost per unit of earth material and the fill level of container 128 for each of multiple fill cycles, wherein an average, mode or other statistical value based upon the values from the multiple fill cycles are used to determine the fill target FT for use in subsequent fill cycles. in some implementations, the hourly cost and the fuel consumption cost may be differently weighted. For example, an operator 112, through operator interface 114, may place a greater emphasis on fuel costs as compared to hourly cost by selecting a greater weight for fuel cost as compared to hourly cost.
As indicated by block 1628, at least one consumption sensor 1582 senses a consumption variable indicative of consumption of the resource associated with the obtained cost factor 1580. A timer clock may be used to sense the consumption of time while a fuel gauge or other fuel level measurement device may be used to identify fuel consumption.
As indicated by block 1632, fill sensor 1570 senses a fill level parameter of earth material within container 128 of earthmoving work machine 102. The parameter may be in the form of volume or weight of earth material within container 128. For example, fill sensor 1570 may continually or periodically sense a fill volume or a fill weight of container 128. The continually or periodically sensed fill volume or fill weight may indicate changes in an ongoing fill rate for container 128.
As indicated by block 1634, fill target logic 1578 determines a fill target for the container 128 based upon the cost factor, changes in the consumption variable and corresponding changes in the fill level parameter. In one implementation, the fill target FT is chosen by identifying a fill level prior to which the cost per unit of earth material gathered begins accelerating at a rate above a predetermined acceleration rate threshold. In another implementation, the fill target is chosen by identifying a cost per unit of earth material that satisfies a predefined cost per unit of material threshold as provided by operator 112. In other implementations, the fill target is chosen by analyzing past work cycles for a feasible fill target FT that minimizes cost per unit of earth material for the entire work cycle in the current operating conditions. In one implementation, the fill level of the “best” prior work cycle is chosen as the fill target FT. In other implementations, the fill target FT is chosen based on statistics of multiple past work cycles (like average or median), wherein the chosen fill target performs at least as good as the average. In one implementation, only the work cycles from the current day are used so that the system can assume the working conditions are relatively consistent.
In other implementations, the operator or controller may select and input a window of time to define what prior fill cycles are used to determine the upcoming fill target FT. The window of time chosen may be a window of less than 5 hours before the current time. The window of time may be the past week up to the current time. The window of time may be an earlier window of time not leading up to the current time, such as a window of time which ended days, weeks or months ago, wherein the earlier window of time selected by the operator or chosen by the controller (based upon sensed environmental or soil conditions from sensors) had sensed environmental conditions similar to the current sensed environment or soil conditions (moisture, density and the like) as determined by the operator or controller.
As indicated by block 1638, control logic 172 generates emission control signal based upon the fill target. As described above, in some implementations, the control signal may automatically cause actuation of movable elements 138, such as blade 140, gate 142 or other 144 to end a fill cycle. In other implementations, the control signal may cause the operator interface 114 to output a notification to the operator 112 recommending that the fill cycle be ended at a particular fill level or point in time. Such a notification may be presented on a display are output by a speaker.
Fill measurement logic 1568 and fill sensor 1570 are shown and described above with respect to
Fill target logic 1766 receives various cost factors relating to various resources that are consumed during the gathering of earth material such as during a fill cycle. In the example illustrated, fill target logic 1766 receives cost factors 1580-1, 1580-2, 1580-3 and 1580-4. Cost factor 1580-1 comprises a cost in dollars per hour for operator 112. Cost factor 1580-2 comprises a dollar per hour factor for use of earthmoving work machine 102. Cost factor 1580-3 comprises a cost in dollars per hour for use of support work machine 104. Cost factor 1580-4 comprises a cost for fuel, a cost that may be measured in dollars per gallon. In one implementation, fill target logic 1766 is associate with cost factor logic 1574 (shown in
As further shown by
As indicated by block 1770, fill target logic 1766 utilizes the signals from clock 1582-1 in combination with the different fill measurements determined from the fill signals to calculate the time cost associated with each fill increment of container 128. For example, from the received signals, fill target logic 1766 may multiply cost factors 1580-1, 1580-2 and 1580-3 by the amount of time consumed during the gathering of a unit of earth material to increment the fill percentage of container 128 from 50% to 55% full to determine the hourly cost for obtaining a 55% fill level of container 128.
As indicated by block 1772, fill target logic 1766 utilizes the fuel consumption signals from sensor 1582-2 in combination with the different fill measurements determined from the fill signals to calculate the fuel costs associated with each incremental unit of earth material filling container 128. For example, fill target logic 1766 may multiply cost factor 1580-4 by the amount of fuel consumed during the gathering of a sufficient amount of earth material to increment the fill percentage of container 128 from 55% to 60% full to determine the fuel cost for obtaining the 60% fill level of container 128.
As indicated by block 1774, fill target logic 1766 uses the values obtained in blocks 1770 and 1772 to calculate a total cost for each incremental unit of earth material gathered at different fill levels of container 128. For example, the hourly cost and the fuel cost for obtaining the 60% fill level are added together to determine the total cost for obtaining the 60% fill level. This process may be repeated for additional incremental fill levels of container 128 as container 128 is filled to greater fill levels. In other implementations, the incremental fill percentage increases for which the total cost is determined by fill target logic 176 (5% in the example) may be larger or smaller. As should be appreciated, the volume of container 128 is generally fixed such that different fill percentages correspond to different corresponding quantities of earth material within container 128 or different corresponding weights of earth material within container 128. Rather than determining the cost associate with an incremental percentage increase in the fill level of container 128, fill target logic 1766 may determine the costs associated with a predetermined incremental volume or weight of earth material being gathered within container 128.
As indicated by blocks 1780 and 1782, in the example illustrated, fill target logic 1766 further takes into account the consumption of fuel and time expected for the transport of the container 128 to a target destination once the fill cycle is been completed. As indicated by block 1780, fill target logic 1766 utilize signals from the location sensor 152 (also referred to as the geographic position sensor) to determine the distance of container 128 from the target destination at each of the incremental fill percentages and to estimate the travel time for transporting container 128 to the targeted emptying destination at each of the fill percentages. For example, if a fill cycle is ended when the work machine 102 is moving towards the target destination (for example, towards the exit point of the field) and is at a first fill percentage, the travel time to the target destination may be a first amount of time. If the fill cycle is ended when the work machine 102 is moving towards a target destination and is at a second greater fill percentage, the travel time to the target at the target destination may be a second smaller amount of time. The smaller amount of non-have harvest travel time may reduce the overall hourly cost for the second greater fill percentage. The hourly cost impact may be reversed in cases where the work machine 102 and its support work machine 104 are moving away from the target destination.
As indicated by block 1782, fill target logic 1766 utilizes the sensed location of container 128 to determine the distance of container 128 from the target destination at each incremental fill percentage and to estimate the amount of fuel that will be consumed for transporting container 128 to the targeting emptying destination at each of the fill percentages. For example, if a fill cycle is ended when work machine 102 is moving towards the target destination (for example, towards the exit point of the field) and is at the first fill percentage, the amount of fuel consumed to move to the target destination may be a first amount of fuel. If the fill cycles ended when the work machine 102 is moving towards the target destination and is at a second greater fill percentage, the amount of fuel to move the container to the target destination may be a second smaller amount of fuel. The smaller amount of fuel may reduce the overall fuel cost for the second greater fill percentage. The fuel cost impact may reversed in cases where the work machine 102 ended support work machine 104 are moving away from the target destination.
As indicated by block 1784, fill target logic 1766 uses each of the determined total costs for each incremental fill percentage of container 128 to identify and output a fill target 1786 for container 128. In one implementation, fill target logic 1766 may plot or evaluate the rate at which the total costs for the different incremental fill percentages increase from one fill percentage level to another and select the fill percentage that satisfies or is otherwise below a cost per content unit threshold or that satisfies a cost acceleration threshold. In one example implementation, the fill target 1786 is determined by analyzing past work cycles for a feasible fill target FT that minimizes cost per unit of earth material for the entire work cycle in the current operating conditions. In one implementation, the fill level of the “best” prior work cycle is chosen as the fill target FT. In other implementations, the fill target FT is chosen based on statistics of multiple past work cycles (like average or median), wherein the chosen fill target performs at least as good as the average. In one implementation, only the work cycles from the current day are used so that the system can assume the working conditions are relatively consistent.
In other implementations, the operator or controller may select and input a window of time to define what prior fill cycles are used to determine the upcoming fill target FT. The window of time chosen may be a window of less than 5 hours before the current time. The window of time may be the past week up to the current time. The window of time may be an earlier window of time not leading up to the current time, such as a window of time which ended days, weeks or months ago, wherein the earlier window of time selected by the operator or chosen by the controller (based upon sensed environmental or soil conditions from sensors) had sensed environmental conditions similar to the current sensed environment or soil conditions (moisture, density and the like) as determined by the operator or controller.
As indicated by block 1786, fill target logic 176 outputs the fill target 17862 control logic 172 (shown
As indicated by block 8106, the fill value is incremented by an increment I. The increment may be a fill percentage increment, a volume increment or a weight increment. In the example described above with respect to
As indicated by block 1808, the fill target logic, such as logic 1766, receives fill signals output by fill sensor 1570 and received by fill measurement logic 1568. At decision block 1810, fill target logic 176 determines whether the current fill level of container 128, as determined by fill level measurement logic 168 or remaining capacity dissemination logic 170 (described above) is equal to the current fill value FV. As indicated by arrow 1811, in response to the current fill level of 10 128 not yet equaling the fill value FV, fill target logic 176 continues to wait, continuing to receive further fill signals per block 1808.
As indicated by block 1812, in response to the current fill level reaching or attaining the fill value FV (such as when enough earth material has filled container 128 to achieve the 60% fill value in the above example), fill target logic 1766 determines the time consumed since the fill value is incremented in block 1806. This value may be determined based upon signals from clock 1582-1. As indicated by block 1814, fill target logic 176 determines the time cost for the fill value increment. The time cost may be determined by multiplying the time consumed since the last FV increment (determined in block 1812) by one or more cost factors for time, such as cost factors 1580-1, 1580-2 and 1580-3 described above.
As indicated by block 1816, fill target logic 1766 further determines the amount of fuel consumed since the fill value increment in block 1806. This value may be determined based upon signals from fuel consumption sensor 1582-2. As indicated by block 1818, fill target logic 176 determines the fuel cost for the fill value increment. The fuel cost may be determined by multiplying the fuel consumed since the last FV increment (determined in block 1812) by the fuel cost factor 1580-4 described above.
As indicated be block 1820, fuel target logic 1766 adds the time cost and the fuel cost to determine the total cost assigned to the current fill value FV, TC(FV). As indicated by block 1822, the total cost assigned to the particular current fill value FV is stored.
As indicated by decision block 1824, fill target logic 1766 compares the current fill value FV to a predetermined “final FV” value. This value corresponds to value at which the determination of total costs for fill value increments are to be stopped or terminated. In one implementation, the final FV may be a previously determined fill target. In one implementation, the final FV may be a previously determined fill target plus a predetermined increment. In yet other implementations, the final FV may be a value corresponding to when container 128 is filled to its capacity.
As indicated by arrow 1825, in response to the final FV not yet being reached or attained, the process is repeated beginning at block 1806 where the value for FV is incremented by an increment amount I. In one implementation, the increments are uniform from the initial fill value to the final fill value. For example, with respect to the example described above, increments may be in 5% fill percentage increments from the initial valve value to the final fill value. In yet other implementations, the amounts of the increments applied in block 1806 may vary. For example, as the current value for FV approaches a previous fill target, fill target logic 1766 may reduce the size of the increment I in block 1806. The smaller increments being made as the current fill value approaches a prior target value may facilitate more fine smaller adjustments to an existing fill target based upon new conditions such as changes in terrain topography, changes in earth material moisture or changes in other characteristics of the earth material being gathered.
As indicated by arrow 1828, in response to the previously evaluated fill value FV equaling the final fill value, “final FV”, fill target 1766 identifies a potentially new fill target based upon the stored total cost for each of the different previously evaluated fill values. In one implementation, fill target logic 1766 may plot or evaluate the rate at which the total costs for the different incremental fill percentages increase from one fill percentage level to another and select the fill percentage that satisfies or is otherwise below a cost per content unit threshold or that satisfies a cost acceleration threshold. In one implementation, the fill target is determined by analyzing past work cycles for a feasible fill target FT that minimizes cost per unit of earth material for the entire work cycle in the current operating conditions. In one implementation, the fill level of the “best” prior work cycle is chosen as the fill target FT. In other implementations, the fill target FT is chosen based on statistics of multiple past work cycles (like average or median), wherein the chosen fill target performs at least as good as the average. In one implementation, only the work cycles from the current day are used so that the system can assume the working conditions are relatively consistent.
In other implementations, the operator or controller may select and input a window of time to define what prior fill cycles are used to determine the upcoming fill target FT. The window of time chosen may be a window of less than 5 hours before the current time. The window of time may be the past week up to the current time. The window of time may be an earlier window of time not leading up to the current time, such as a window of time which ended days, weeks or months ago, wherein the earlier window of time selected by the operator or chosen by the controller (based upon sensed environmental or soil conditions from sensors) had sensed environmental conditions similar to the current sensed environment or soil conditions (moisture, density and the like) as determined by the operator or controller.
As indicated by block 1830, the determined fill target is then output to control logic 172. Control logic 172 uses the new fill target value to automatically end a subsequent fill cycle such as by automatically raising blade 140 or closing date 142. Alternatively, control logic 172 uses the new fill target value to cause operator interface 114 to output a notification to operator 112, the notification indicating that the operator should and the subsequent fill cycle by raising blade 140 or closing date 142.
As indicated by block 1918, fill target logic 1766 may then calculate statistics for each cubic yard. As indicated by block 1920, the statistics indicate the cost of each cubic yard and how such costs vary with different fill levels of container 128.
As indicated by block 1922, fill target logic 1766 may identify the end of the cycle time such as by identifying when blade 140 has been raised for gate 142 has been closed. As indicated by block 1924, fill target logic 1766 may also calculate metrics for the entire fill cycle with its associated fill value such as its associated fill percentage, fill volume or fill weight. For example, fill target logic 1766 may determine the total cost for the particular fill cycle based upon the total amount of fuel consumed during the fill cycle, the associated fuel cost factor (per block 1914), and the total amount of time consumed during the fill cycle and the hourly cost factor (per block 1916).
As indicated by block 1926, fill target logic 1766 may then translate statistics for each fill cycle carried out. As indicated by block 1926, the statistics may indicate the costs associated with each work cycle and how such costs for different work cycles vary in response to different fill levels are different travel distances.
As indicated by block 1928, following several cycles, fill target logic 1766 may recommend or output a target fill level or value that optimizes cubic yards per hour and cost per cubic yard based upon customer or operator preferences and trends in such previous cycles. The customer preferences may comprise a weighting as between the use of hourly costs, fuel consumption costs and the gathering rate (cubic yards per hour) when determining a new fill target dynamically based upon the immediately preceding sensed fill cycles carried out by work machine 102.
As indicated by block 1930, fill target logic 1766 may update the fill target (such as the recommended fill level) for container 128. This updated fill target may then be consumed by operator 112 when manually controlling the scraper or earthmoving work machine 102 or by control system 172 so to automatically and subsequent fill cycles by automatically raising blade 140 or lowering gate 142.
It should also be noted that the different embodiments described herein can be combined in different ways. That is, parts of one or more embodiments can be combined with parts of one or more other embodiments. All of this is contemplated herein.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
The present application claims priority under 35 USC 120 from co-pending U.S. patent application Ser. No. 16/384,425 filed on Apr. 15, 2019 by Loukili et al. and entitled EARTH-MOVING MACHINE SENSING AND CONTROL SYSTEM, the full disclosure of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 16384425 | Apr 2019 | US |
Child | 16670168 | US |