AGRICULTURAL HARVESTING MACHINE CUTTER HEIGHT CONTROL

A method of controlling an agricultural harvesting machine having a harvesting device configured to engage and cut crop on a field. The method includes receiving an indication of field topography in a first area of the field prior to the first area being harvested, controlling a position of the harvesting device to harvest the crop in the first area based on the indication of field topography in the first area, receiving in-situ data from the first area of the field after the first area is harvested by the harvesting device, receiving an indication of field topography in a second area of the field prior to the second area being harvested, and controlling the position of the harvesting device to harvest the crop in the second area based on the in-situ data and the indication of field topography in the second area.

FIELD OF THE DESCRIPTION

The present description generally relates to agricultural harvesting machines. More specifically, but not by limitation, the present description relates to cutter height control for an agricultural harvesting machine.

BACKGROUND

There are many different types of agricultural machines. Some machines include harvesters, such as combine harvesters, sugarcane harvesters, forage harvesters, etc. Controlling these types of harvesters is often quite complicated. An operator may provide a wide variety of different types of inputs to control a variety of different types of subsystems on the harvester. Also, some or all control of various subsystems can be automated or semi-automated. One example control is cutter height which defines the height at which the crop is cut relative to the ground.

SUMMARY

A method of controlling an agricultural harvesting machine having a harvesting device configured to engage and cut crop on a field. The method includes receiving an indication of field topography in a first area of the field prior to the first area being harvested, controlling a position of the harvesting device to harvest the crop in the first area based on the indication of field topography in the first area, receiving in-situ data from the first area of the field after the first area is harvested by the harvesting device, receiving an indication of field topography in a second area of the field prior to the second area being harvested, and controlling the position of the harvesting device to harvest the crop in the second area based on the in-situ data and the indication of field topography in the second area.

Example 1 is a method of controlling an agricultural harvesting machine having a harvesting device configured to engage and cut crop on a field, the method comprising:receiving an indication of field topography in a first area of the field prior to the first area being harvested;controlling a position of the harvesting device to harvest the crop in the first area based on the indication of field topography in the first area;receiving in-situ data from the first area of the field after the first area is harvested by the harvesting device;receiving an indication of field topography in a second area of the field prior to the second area being harvested; andcontrolling the position of the harvesting device to harvest the crop in the second area based on the in-situ data and the indication of field topography in the second area.

Example 2 is the method of any or all previous examples, wherein the harvesting device comprises a front-end assembly having a cutting device, and further comprising:determining a height of a crop bed in the first area based on the first indication of field topography; andsetting a cutting height of the cutting device based on the height of the crop bed.

Example 3 is the method of any or all previous examples, wherein receiving the indication of field topography in the first area comprises:receiving, from a first sensor on the agricultural harvesting machine, a first sensor signal indicative of a distance from the first sensor to the crop bed.

Example 4 is the method of any or all previous examples, wherein receiving in-situ data comprises receiving a second sensor signal from a second sensor on the agricultural harvesting machine.

Example 5 is the method of any or all previous examples, wherein each of the first and second sensors comprises at least one of:a radio detection and ranging (RADAR) sensor;an ultrasonic sensor; oran imaging sensor.

Example 6 is the method of any or all previous examples, wherein the second sensor signal is indicative of crop stubble height in the first area, and the method further comprises:determining that the crop stubble height is above a threshold; andadjusting a height of the cutting device based on the determination.

Example 7 is the method of any or all previous examples, wherein the second sensor signal is indicative of a distance from the second sensor to the crop bed.

Example 8 is the method of any or all previous examples, and further comprising:determining that the front-end assembly contacted a ground surface in the first area based on the first and second sensor signals; andcontrolling the position based on the determination.

Example 9 is the method of any or all previous examples, and further comprising: adjusting a height of the cutting device based on the second sensor signal.

Example 10 is the method of any or all previous examples, and further comprising:calibrating the first sensor based on the second sensor signal.

Example 11 is the method of any or all previous examples, whereinthe first area of the field comprises a first crop row of a plurality of crop rows in the field,the second area of the field comprises a second crop row, of the plurality of crop rows, that is adjacent to the first crop row, andthe method further comprises:generating, based on the in-situ data, a predicted crop bed height in the second crop row; andcontrolling the position of the harvesting device to harvest the crop in the second crop row based on the predicted crop bed height and the indication of field topography in the second crop row.

Example 12 is the method of any or all previous examples,detecting furrow depth between first and second crop rows based on the field topography; andbased on the detected furrow depth, controlling height of a crop collecting and gathering device of the agricultural harvesting machine.

Example 13 is the method of any or all previous examples, and further comprising:detecting a first depth of a furrow between a first crop row and a second crop row prior to the first crop row being harvested by the agricultural harvesting machine;detecting a second depth of the furrow after the first crop row is harvested by the agricultural harvesting machine;generating a compaction factor based on the first and second depths; andcontrolling the agricultural harvesting machine based on the compaction factor.

Example 14 is an agricultural harvesting machine comprising:a set of ground engaging traction elements;a propulsion subsystem configured to drive one or more of the ground engaging traction elements over a field;a harvesting device configured to engage and cut crop on the field; anda control system configured to:receive an indication of field topography in a first area prior to the first area being harvested by the harvesting device;control a position of the harvesting device to harvest the crop in the first area based on the indication of field topography in the first area;receive in-situ data from the first area of the field after the first area is harvested by the harvesting device;receive an indication of field topography in a second area prior to the second area being harvested by the harvesting device; andcontrol the position of the harvesting device to harvest the crop in the second area based on the in-situ data and the indication of field topography in the second area.

Example 15 is the agricultural harvesting machine of any or all previous examples, wherein the harvesting device comprises a front-end assembly having a cutting device, and the control system is configured to:determine a height of a crop bed in the second area based on the in-situ data and the indication of field topography in the second area; andset a cutting height of the cutting device based on the height of the crop bed.

Example 16 is the agricultural harvesting machine of any or all previous examples, and further comprising:a first sensor configured to generate the indication of field topography in the first area, the indication representing a height of a crop bed in the first area prior to the crop bed being harvested by the harvesting device; anda second sensor configured to generate the in-situ data representing the crop bed after the crop bed is harvested by the harvesting device.

Example 17 is the agricultural harvesting machine of any or all previous examples, wherein the in-situ data is indicative of crop stubble height in the first area, and the control system is configured to:determine that the crop stubble height is above a threshold;adjust a height of the cutting device based on the determination; calibrate the first sensor; andreceive the indication of field topography in the second area from the calibrated first sensor.

Example 18 is the agricultural harvesting machine of any or all previous examples, whereinthe indication of field topography in the first area is indicative of a location of a crop bed in the first area relative to the agricultural harvesting machine, andthe control system is configured to:determine that the harvesting device contacted a ground surface in the first area based on the in-situ data.

Example 19 is a control system for an agricultural harvesting machine having a harvesting device, the control system comprising:at least one processor; andmemory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the control system to:receive a first indication of field topography in a first area to be harvested in a path of the agricultural harvesting machine;control a position of the harvesting device to harvest the crop in the first area based on the first indication of field topography;receive in-situ data from the first area of the field after the first area is harvested by the harvesting device;receive a second indication of field topography in a second area of the field to be harvested; andcontrol the position of the harvesting device to harvest the crop in the second area based on the in-situ data and the second indication of field topography in the second area

Example 20 is the control system of any or all previous examples, wherein the harvesting device comprises a front-end assembly having a cutting device, and the control system is configured to:determine a height of a crop bed in the second area based on the in-situ data and the second indication of field topography in the second area; andset a cutting height of the cutting device based on the height of the crop bed.

DETAILED DESCRIPTION

The present description generally relates to agricultural harvesting machines. More specifically, but not by limitation, the present description relates to cutter height control for an agricultural harvesting machine (or “harvester”). Depending on the crop being harvested, cutter height control can affect harvester efficiency (e.g., in terms of yield). For example, the height at which the crop is cut can change the levels of crop constituents, such as the amount of protein, sugar, starch, oil, nutrients, water, among various other constituents, in the harvested material. For sake of illustration, but not by limitation, the sugar content in sugarcane plants is typically concentrated in the lower section of the plant. Thus, if sugarcane plants are cut too high from the ground, a large portion of sugar content is left unharvested. In some yield scenarios, for every one inch of crop stubble left in the field or otherwise not harvested, approximately one-half ton per acre of crop yield can be lost. That being said, cutting below grade can result in excessive wear or other damage to the harvester, and can create undesired changes to field (or other worksite) topography. Also, the introduction of dirt, sand, soil, or other impurities can have detrimental effects on mill or other equipment.

In some instances, a forward-looking sensor is utilized to sense the crop bed ground surface in front of the harvester, so that the cutter height can be set accordingly. However, unharvested, standing crop in the target area ahead of the harvester can reduce the accuracy of the ground surface predictions. For example, in the case of sugarcane, the plant density and mature green cane has a high leaf trash content that inhibits the ability to find the crop bed ground surface with reasonably high accuracy and/or consistency. Inaccurate ground surface detection can result in setting the cutting height too high (e.g., resulting increased unharvested crop stubble) or too low (e.g., resulting in ground contact).

Alternatively, or in addition, a crop planting map, field topography map, or other field data map can be generated prior to the harvesting operation. For example, during a prior harvesting operation, data can be acquired from the harvester to generate a planting map indicating the location of the plants on the field along with field topography corresponding to the plant locations. However, over time, the location of the plants can migrate or move. For instance, some ratoon crops, such as sugarcane and other tropical grasses, sprout new shoots from the plant base after harvesting. This regrowth process can result in the plant being situation in a slightly different location in the field during the subsequent harvest, and that different location can have a different ground height. Further, the topography of the field can change over time due to weather conditions, machine operations on the field, etc.

The present discussion proceeds with respect to a control system for an agricultural harvesting machine, such as a sugarcane harvester, that is configured to detect harvester operational performance and set cutter height based on pre-harvest field data and post-harvest data obtained from in-situ sensors on the harvesting machine. It is noted that examples are discussed below in the context of a sugarcane harvester for sake of illustration, but not by limitation. It will be understood that aspects described herein can be utilized with other types of harvesting machines.

FIG.1is a block diagram showing one example of an agricultural harvesting machine architecture100that includes an agricultural harvesting machine102. Agricultural harvesting machine102can include autonomous or semi-autonomous machines, such as robotic or self-driving vehicles. Thus, examples of machine102can operate in a fully autonomous mode and/or a semi-autonomous mode in which an operator is on-board or nearby to perform one or more functions. These functions may include, for example without limitation, one or more of guidance, safeguarding, diagnosis, task monitoring, task control, or data recording.

Machine102includes a control system106configured to control a set of controllable subsystems108that perform operations on a field. For instance, an operator110can interact with and control harvesting machine102through operator interface mechanism(s)112. Operator interface mechanism(s)112can include such things as a steering wheel, pedals, levers, joysticks, buttons, dials, linkages, etc. In addition, mechanism(s)112can include a display device that displays user actuatable elements, such as icons, links, buttons, etc. Further, where the device is a touch sensitive display, those user actuatable items can be actuated by touch gestures. Similarly, where mechanism(s)112includes speech processing mechanisms, then operator110can provide inputs and receive outputs through a microphone and speaker, respectively. Operator interface mechanism(s)112can include any of a wide variety of other audio, visual or haptic mechanisms.

Harvesting machine102includes a communication system114configured to communicate with other systems or machines in architecture100. For example, communication system114can communicate with other machines116(such as other machines operating on a same field as harvesting machine102), remote computing system(s)118, and/or prior data collection system(s)120, either directly or over a network122. Network122can be any of a wide variety of different types of networks. For instance, network122can be a wide area network, a local area network, a near field communication network, a cellular communication network, or any of a wide variety of other networks, or combinations of networks.

Communication system114can include wired and/or wireless communication components, which can be substantially any communication system that can be used by the systems and components of machine102to communicate information to other items, such as between control system106, controllable subsystems108, and sensors124. In one example, communication system114communicates over a controller area network (CAN) bus (or another network, such as an Ethernet network, etc.) to communicate information between those items. This information can include the various sensor signals and output signals generated by the sensor variables and/or sensed variables.

A remote user123is illustrated as interacting with remote computing system118, such as to receive communications from or send communications to harvesting machine102through communication system114. For example, but not by limitation, remote user123can receive communications, such as notifications, requests for assistance, etc., from harvesting machine102on a mobile device.

System(s)120are configured to collect prior data that can be used by harvesting machine102in performing a harvesting operation on a field. Prior data can be generated from a wide variety different types or sources, such as from aerial or satellite images, thermal images, etc. The prior data can be used to generate a model, such as a predictive map, that can be used to control harvesting machine102. Examples of prior data include, but are not limited to, field topography maps and crop planting maps, to name a few.

FIG.1also shows that harvesting machine102includes in-situ data collection system126, one or more processors128, a data store130, and can include other items132as well. Sensors124can include any of a wide variety of sensors depending on the type of harvesting machine102. For instance, sensors124can include material sensors134, position/route sensors136, speed sensors138, field sensors140, orientation and/or inertial sensors141, and can include other sensors142as well.

Material sensors134are configured to sense material being moved, processed, or otherwise worked on by harvesting machine102. In the case of an agricultural harvester, material sensors134include yield sensors.

Position/route sensors136are configured to identify a position of harvesting machine102and a corresponding route (e.g., heading) of harvesting machine102as machine102traverses the field. A geographic position sensor, for example, senses or detects the geographic position or location of agricultural harvester102and can include, but is not limited to, a global navigation satellite system (GNSS) receiver that receives signals from a GNSS satellite transmitter. Sensor136can also include a real-time kinematic (RTK) component that is configured to enhance the precision of position data derived from the GNSS signal. Sensor136can include a dead reckoning system, a cellular triangulation system, or any of a variety of other geographic position sensors. Speed sensors138are configured to output a signal indicative of a speed of harvesting machine102.

Field sensors140are configured to obtain field data representing conditions or states of the field, which can be processed, for example by in-situ data collection system126. Illustratively, field sensors140include in-situ sensors, such as imaging sensors144, ground surface sensors146, stubble height sensors148, and can include other sensors150. In-situ sensors can include on-board sensors that are mounted on-board harvesting machine102and/or remote in-situ sensors that capture in-situ information. In-situ (or field) data can thus be obtained in real time from sensors124on machine102and/or sensors on a support machine that works in parallel with machine102.

Sensors141are configured to detect an orientation and/or inertia of machine102. Sensors141can include accelerometers, gyroscopes, roll sensors, pitch sensors, yaw sensors, to name a few.

Control system106includes settings control component152, route control component154, cutter height detection and control system156, and a display generator component158. Control system106can include other items159.

Controllable subsystems108can include propulsion subsystem160, steering subsystem162, harvesting subsystem164, one or more different actuators166that can be used to change machine settings, machine configuration, etc., and can include a wide variety of other systems168.

Propulsion subsystem160includes an engine (or other power source) that drives a set of ground engaging traction elements, such as wheels or tracks. Steering subsystem162is configured to control a direction of machine102by steering one or more of the ground engaging traction elements.

Harvesting subsystem164includes a front-end subsystem170having a harvesting device, such as a header, configured to engage and cut crop from the field. In the case of an example sugarcane harvester, harvesting device includes basecutters (or other cutting devices) and a knock down roller. Subsystem164also includes a material handling subsystem172configured to convey and/or process the crop cut by front-end subsystem170to a material repository174. In one example of a combine harvester, material handling subsystem172can include a threshing system. Subsystem164can include other items176as well.

Imaging sensors144are configured to acquire images of the field, such as from areas of the field in front of subsystem170in a direction of travel (i.e., unharvested areas) and/or areas behind the header (i.e., already harvested areas).

Ground surface sensors146are configured to detect the ground surface of the field in one or more areas, which can also include unharvested areas in front of the subsystem170and/or already harvested areas behind subsystem170. For instance, sensors146are configured to generate indications of crop bed height. The crop bed refers to the area in which the roots of the plant area are located. Therefore, the crop bed height is the height of the ground proximate the base of the stalk that emerges from the ground surface. In the case of sugarcane plants in rows, the crop bed height typically indicates the height of the ground at or near the center of the row. Sensors146can also generate indicates of furrow depth. A furrow, in the present case, refers to the area between the crop rows.

An example of ground surface sensor146includes a RADAR (radio detection and ranging) detection system that uses radio waves to determine a distance from the sensor location to the ground surface (e.g., the crop bed to be harvested). The determined distance and position of the sensor mounting location can be utilized to determine a height of the crop bed relative to the sensor. Then, based on the vertical distance between the sensor mounting location and the cutter on front-end subsystem170, the height of the cutting device can be controlled to a desired position relative to the crop bed, i.e., to cut the crop at a desired height (e.g., one inch, two inches, etc.) from the top of the crop bed. In one example, a cutting height of the cutting device is set based on a pre-determined delta or offset to the determined height of the crop bed.

Settings control component152can control one or more of subsystems108in order to change machine settings based upon the predicted and/or observed conditions or characteristics of the field. By way of example, settings control component152can actuate actuators166that change the positioning of cutter based on predicted crop bed heights.

In one example, control of the traversal of machine102over the field can be automated or semi-automated, for example using an automated guidance system. For instance, route control component154is configured to guide machine102along a path across the field using the geographic position sensed by sensors136. Subsystem162is configured to perform field operations while machine102traverses the field.

Display generator component158illustratively generates control interface displays for operator110, or another user such as remote user123. The display can be an interactive display with user input mechanisms for interaction by operator110.

Data store130is configured to store data for use by machine102. For example, in agricultural applications the data can include field location data that identifies a location of the field to be operated upon by a machine102, field shape and topography data that defines a shape and topography of the field, crop location data that is indicative of a location of crops in the field (e.g., the location of crop rows), or any other data.

Prior data collection system120illustratively collects field data, such as prior data corresponding to a target field to be operated upon by machine102. Briefly, by prior, it is meant that the data is formed or obtained beforehand, prior to the operation by machine102. The data generated by system120can be sent to machine102directly and/or can be stored in a data store178as prior data180. Control system106can use data180to control operation of one or more subsystems108.

As noted above, harvesting machine102can take a wide variety of different forms.FIG.2illustrates one example of an agricultural harvesting machine. More specifically,FIG.2is a simplified side view of a sugarcane harvester200.

As shown inFIG.2, harvester200includes a cab202for an operator (e.g., operator110) and a frame204that supports various cutting, routing and processing devices. Frame204is supported by a transport frame, such as a track frame supporting track assemblies206. In another example, harvester200can include wheels supported by axel assemblies.

An engine208powers a main hydraulic pump (not shown) and various driven components of harvester200can be powered by hydraulic motors (not shown) receiving hydraulic power from the main hydraulic pump.

A cane topper209extends forward of frame204and is configured to remove the leafy tops of sugarcane plants (not shown). A set of crop dividers (e.g., left-side divider210shown inFIG.2) is configured to guide the remainder of the sugarcane toward internal mechanisms of harvester200for processing. As harvester200moves across the field, plants passing between the crop dividers210are deflected downward by a knockdown roller212before being cut near the base of the plants by one or more basecutters (or other cutting devices)214.

Rotating disks, guides, paddles (not shown inFIG.2) or other transport devices on basecutter(s)214are configured to direct the cut ends of the plants upwardly and rearwardly within harvester200toward a feed train216, which can include successive pairs of upper and lower feed rollers218and220. A set of intake rollers222and224are configured to receive cut sugarcane from basecutters214at the front end of feed train216. Feed rollers218and220are rotated to convey the received sugarcane toward chopper drums226and228for chopping into relatively uniform billets. The sugarcane can be cleaned by a primary extractor230and carried up a loading elevator232for discharge into a trailing truck or other receptacle (not shown inFIG.2).

FIGS.3-1and3-2illustrate one example of a sugarcane harvester250(such as, but not limited to, harvester200shown above) operating on a field252.FIG.3-1is a top view of harvester250andFIG.3-2is a side view of a portion of field252.

As harvester250moves in a direction of travel254, a harvesting device256on the front end of harvester250(e.g., a header having a basecutter, rollers, etc., such as that illustrated above with respect toFIG.2) engages and cuts crop from one or more crop rows. In the present example, harvester250is configured to simultaneously harvest crop from first and second crop rows258and260. Of course, harvester250can be configured to harvest crop from more than or less than two rows at a time. A plurality of unharvested crop rows262,264, and266are also shown inFIGS.3-1and3-2. Reference numeral268illustrate areas of field252that have already been harvested by harvester250.

Harvester250includes a plurality of field sensors (e.g., field sensors140illustrated inFIG.1). Pre-harvest in-situ field sensors270and272are configured to obtain indications of field topography in unharvested areas in the path of harvester250(e.g., crop beds in crop rows258and260). Thus, sensors270and272are configured to detect field topography on areas of field252prior to those areas being harvested by harvesting device256. Some examples include, but are not limited to, RADAR detection systems, ultrasonic sensors, cameras or other imaging sensors, etc.

Harvester250also includes a plurality of post-harvest in-situ field sensors configured to receive in-situ data from the areas of field252after those areas have been harvested by harvesting device256. In the illustrated example, post-harvest in-situ field sensors274and276are configured to measure furrow depth between adjacent crop beds. “Crop bed” refers to the planting locations of the crop plants (generally in rows), and “furrow” refers to the area between adjacent crop beds. For sake of illustration, as shown inFIG.3-2, a furrow278is formed between crop row258and crop row280in the already harvested area268. Furrow depth282represents a distance from the bottom of the furrow278to a reference point, that can be utilized by harvester250. In one example, the furrow depth282represents the distance from the crop bed284to the bottom of the furrow278. In another example, the furrow depth can be the distance from the sensor mounting location on harvester250to the bottom of the furrow278. Similarly, the crop bed or ground height represents a distance from a reference point to the top of crop bed284. For example, based on sensor signals from sensor270, harvester250can determine the distance from sensor270to the top of crop bed284, and this distance can be utilized to control harvesting device256to cut the sugarcane plants286at a desired height from the crop bed284. Additionally, sensor276can generate sensor signals indicative of furrow depth between rows260and262. Similarly, sensor274can generate sensor signals indicative of furrow depth between row258and previously harvested row280.

Off board map layers can be created to show pre and post row profile and topography of the fields, based on the sensor signals, over time.

During operation, the tracks288are controlled to move along these furrows to avoid damage to the ratoons. Also, sensors274and/or276generate sensor signals indicative of the crop bed height of the adjacent row, that is adjacent to harvester250. For example, sensor276receives an indication of the crop bed height of crop row262adjacent to harvester250, as harvester250is harvesting crop row260. As discussed in further detail below, this indication of the adjacent crop row height can be used as a prediction of ground height during the subsequent pass of harvester250on field252that harvests crop row262.

Harvester250also includes in-situ field sensors290and292that acquire data representing the area of crop rows258and260that have already been harvested by harvesting device256. For example, sensors290and292can generate indications of the height of the crop bed of rows258and260, after the crop has been harvested from that area of field252. Alternatively, or in addition, sensors290and292can generate indications of stubble height remaining after the crop has been cut by harvesting device256.

Harvester250also includes a gyroscope or other orientation sensor294configured to sense a pitch and/or roll of harvester250as harvester250travels over field252.

FIG.4is a block diagram illustrating one example of cutter height detection and control system156. As shown, system156includes a prior data receiving component302, an in-situ data receiving component304, a field topography detection component306, a crop stubble height detection component308, a furrow depth detection component310, a compaction detection component312, a cut height component314, a machine pose detection component316, a detection mode selection component318, a remote system interaction component320, and an action generation component322. System156is also illustrated as having one or more processors or servers324, and can include other items325as well.

Prior data receiving component302is configured to receive previously generated or collected data, for example from prior data collection system120illustrated inFIG.1. The prior data can include, but is not limited to, sensor data obtained from other machines, such as other agricultural machines, unmanned aerial vehicles or drones, to name a few. Also, the prior data can include field planting maps, field terrain maps, and field compaction maps.

In-situ data receiving component304is configured to receive in-situ data, which includes ground-truthed data and/or data acquired in real time or substantially real time during operation of harvesting machine102. The data can be obtained from sensors124and/or from in-situ data collection system126.

Field topography detection component306is configured to detect field topography, such as crop bed height, furrow depth, etc., based on the prior data and/or in-situ data. Component306can include a pre-harvest detection component326configured to detect field topography in areas of the field prior to the current harvesting operation being performed by harvesting machine102. With respect to the example ofFIG.3-1, crop bed height and/or furrow depth can be identified based on sensor signals from sensors270and272. Also, component306includes a post-harvest detection component328configured to detect field topography in areas of the field after the harvesting operation being performed by harvesting machine102. For example, component328can identify crop bed height, furrow depth, etc. based on sensor signals received from sensors276,278,290, and/or292. Component306also includes a subsequent pass prediction component330configured to generate a prediction of field topography in an adjacent crop row, for a subsequent pass. In the example ofFIG.3-1, component330predicts a crop bed height for row262based on sensor signals received from sensor276.

Crop stubble height detection component308is configured to detect a crop stubble height in the post-harvest areas of the field. For example, based on sensor signals from sensors290and292, component308determines the height of the crop stubble left in rows258and260after being harvested by harvesting device256. In one example, the crop stubble height detection can be based on image processing on images acquired from imaging sensors, or any other suitable sensor inputs.

Furrow depth detection component310is configured to detect the depth of furrows between crop rows. It is noted that the furrow depth can be detected pre-harvest as well as post-harvest, and detected changes in furrow depth can be utilized by component312to generate a compaction metric that indicates a degree to which the furrow has been compacted by traversal of harvester102over the field. In one example, component312includes a map generator332configured to generate a compaction map that indicates, for different areas of the field, compaction which indicates changes to the field topography due to the operation of harvesting machine102.

Cut height component314includes a target selector334configured to select a target cut height, which can be based on operator input, automatically based on automated processes, or in other ways. Component314includes a threshold generator336that generates a cut height threshold, a cut height calculation component338configured to calculate the position of harvesting device256to achieve the target cut height, and a comparison component340configured to compare the cut height to the threshold.

Machine pose detection component316is configured to detect changes to the pitch and/or roll of machine102as machine102traverses the field. For example, harvesting machine102can experience side-to-side roll due to differences in furrow depth and/or different degrees of compaction as the tracks, wheels, or other traction elements traverse through the furrows.

Detection mode selection component318is configured to select from a plurality of different detection modes, for generating post-harvest performance. For example, component318can include a weighting component342for weighting different detection modes and a machine learning component344for selecting the detection modes. A training component345is configured to train machine learning component344based on training data.

For example, component316can utilize a predictive model that is revised as machine102is performing an operation and while additional in-situ sensor data is collected. The revision of the model in response to new data can employ machine learning methods. Without limitation, machine learning methods can include memory networks, Bayes systems, decisions trees, Eigenvectors, Eigenvalues and Machine Learning, Evolutionary and Genetic Algorithms, Expert Systems/Rules, Support Vector Machines, Engines/Symbolic Reasoning, Generative Adversarial Networks (GANs), Graph Analytics and ML, Linear Regression, Logistic Regression, LSTMs and Recurrent Neural Networks (RNNSs), Convolutional Neural Networks (CNNs), MCMC, Cluster Analysis, Random Forests, Reinforcement Learning or Reward-based machine learning. Learning may be supervised or unsupervised.

For instance, artificial intelligence (AI) can be utilized to identify machine capabilities, and to determine how to adjust machine settings to achieve work assignment criteria and the target work quality. The machine learning and training components can include a variety of different types of learning mechanisms, such as a neural network that is trained based on corresponding training logic using training data. Briefly, a neural network can include a deep neural network (DNN), such as a convolutional neural network (CNN). Of course, other types of classification or learning mechanisms, such as rule-based classifiers, Bayesian network, decision trees, etc. can be utilized.

Machine learning component344includes a machine learning model configured to determine changes to settings of subsystems108that achieves the target work quality of machine102. The machine learning model can take into consideration inputs from external sensors

Remote system interaction component320is configured to interact with a cloud computing system or other remote computing system, such as system118illustrated inFIG.1. Action generator component322is configured to generate action signals for controlling controllable subsystems108, communication system114, sensors124, or any other component in harvesting machine102.

FIG.5is a flow diagram illustrating one example of cutter height detection and control for an agricultural harvesting machine. For sake of illustration, but not by limitation,FIG.5will be discussed in the context ofFIG.4.

At block402, machine102is operating in a field. A detection mode is selected at block404. One example of detection mode selection is discussed below with respect toFIG.11. Briefly, however, the detection mode defines a data source and scheme for cutter height control. For example, the selected mode can include a predictive mode (block406) that generates and utilizes predictions on crop bed height. Another example detection mode includes pre-harvest in-situ sensing (block408) that utilizes in-situ sensors for detecting field topography in areas of the field prior to harvest. Also, a detection mode can utilize harvester load (block410), such as pressure sensors that detect a type of load on the cutter drive motors, which can indicate performance of the basecutter (e.g., whether the basecutter is cutting too high or too low). The detection mode can also utilize a combination of various types of inputs and control schemes, as represented at block412.

The detection mode can be selected by operator110or other user (block414), and/or automatically (block416). Of course, the detection mode can be selected in other ways as well, as represented at block418.

At block420, pre-harvest field data is received that indicates field topography in a particular area of the field. For example, the data can include prior data, as represented at block422. As noted above, the prior data can include a field map previously generated or obtained, prior to the current operation of machine102on the field. Also, as represented at block424, the pre-harvest field data can include in-situ data generated based on in-situ sensors during the current operation of machine102. With respect to the example ofFIG.3-1, the in-situ data can include data generated based on input from one or more of sensors270,272,274,276,290, and292. Of course, pre-harvest field data can include other types of data as well, as represented at block426.

At block428, a height of a crop bed in the particular area is determined based on the pre-harvest field data. In one example, the height determination utilizes a prediction generated based on a previous pass, as represented at block430. Of course, the height of the crop bed can be determined in other ways as well, as represented at block432.

At block434, a cut height set point is obtained. The cut height set point represents a height at which the crop is to be cut from the top of the crop bed. As noted above, in the case of sugarcane harvesting, it is often desired to cut the sugarcane stalk close to ground level, without contacting the ground. The cut height set point can be obtained in any of a number of ways. For example, the cut height set point can be based on operator input at block436. Also, the cut height set point can be automatically obtained at block438, for example based on a mission plan or automated control scheme. Of course, the cut height set point can be set in other ways as well, as represented at block440.

At block442, a height of the harvesting device (e.g., a basecutter) is controlled based on the determined height of the crop bed and the cut height set point. The harvesting device is controlled at block444to harvest crop from the particular area. During harvesting, changes in machine pose can be detected at block446, and changes to the harvesting device load can be detected at block448.

At block450, post-harvest field data is received and is indicative of the field topography from the particular area, after the crop has been harvested from that area. In one example, the post-harvest field data is based on in-situ sensor signals, for example from one or more of sensors274,276,290, or292, as represented at block452. The post-harvest field data can include field topography such as the height of the crop bed in the post-harvest area (block454), and/or furrow depth (block456). Alternatively, or in addition, stubble height is detected post-harvest at block458. Of course, other post-harvest field data can be obtained as well, as indicated at block459.

At block460, one or more actions are performed based on the post-harvest field data. For example, the cut height can be adjusted at block462. For instance, if the stubble height detected at block458is determined to have more than a threshold deviation from the cut height set point, the cut height can be raised or lowered. In one particular example, assume the cut height set point is set to cut sugarcane stalk at one inch from the crop bed. If the stubble height is subsequently determined to be three inches, then the cutter height can be lowered by two inches. In another example, if the post-harvest field data indicates that the height of the crop bed post-harvest is lower than the crop bed height from the pre-harvest field data, then control system156can determine that the harvesting device has contacted the field, that is the harvesting device has scraped a portion of the soil as the harvesting device performed the harvesting operation. In this case, the cutter height can be raised to reduce the likelihood of further ground contact. Alternatively, or in addition, at block462, a height of one or more crop collecting and gathering devices (e.g., scroll or crop dividers, etc.) is controlled based on detected furrow depth.

At block464, the pre-harvest data collection can be calibrated, based on the post-harvest field data. For example, with respect toFIG.3-1, pre-harvest in-situ sensor270is calibrated based on a determination from sensor data generated by sensor290. For instance, if sensor290indicates a ground height that is two inches higher than the ground height detected by sensor270, then the output from sensor270can be calibrated to return a more accurate measurement.

In the case of prior data, such as a field map, the calibration at block464can adjust the prior data based on the post-harvest field data. For instance, prior harvesting operations, spraying operations, or other field care operations, weather, erosion, etc. can change the field topography from the time the data was acquired, and block464can adjust the data based on ground-truth data in real time.

At block466, a prediction for a subsequent pass can be generated, based on the post-harvest field data. For example, as discussed above with respect toFIG.3-1, sensor276can acquire an indication of furrow depth between rows260and262and an indication of crop bed height in row262. This indication of crop row height from sensor276can be utilized as a prediction for the crop bed height for row262when harvester250makes a subsequent pass to harvest rows262and264.

At block468, furrow depth can be detected from the post-harvest field data. For example, with reference again toFIG.3-1, sensor276can generate an indication of furrow depth between rows260and262. Changes in the furrow depth from pre-harvest to post-harvest can be utilized to generate a compaction factor that indicates a degree to which traversal of harvesting machine102has compacted the given furrow. Also, compaction can be detected based on the machine pose, e.g., roll angle indicating a degree to which machine102has rolled to one side or the other. A compaction map can be created at block470, and can be stored and/or output for future field operations. Of course, other actions can be performed as well, as represented at block472.

At block474, if the harvesting operation is continued, operation returns to block420for subsequent areas of the field.

FIG.6is a flow diagram illustrating one example of determining the height of a crop bed at block428inFIG.5. At block502, an in-situ sensor signal is received indicating vertical distance from the sensor position to the top of the crop bed. For example, the pre-harvest field data received at block420can include a sensor signal from sensor270through the standing crop in front of harvesting machine102. A distance between the sensor position of sensor270and the crop bed in row258is determined.

At block504, the relative positions of the sensor and the harvesting device (e.g., the basecutter) is determined. For example, the determination can be based on machine dimensions stored in data store130, as represented at block506. Of course, the relative positions can be determined in other ways as well, as represented at block508.

At block510, the position of the cutter and the crop bed are determined based on the distance from the crop bed to the sensor position and the relative positions of the sensor and the harvesting device.

FIG.7is a flow diagram illustrating one example of calibration at block464inFIG.5. At block522, post-harvest field data is received, for example sensor signals from sensor290, map layers generated by system156, etc. The field data can indicate crop bed height and/or crop stubble height. For example, crop bed height is determined based on a z component of coordinates detected at the field surface. Further, crop stubble height can be calculated by component308based on signals from sensors148.

For crop bed height data, at block524the pre-harvest crop bed height, that was used to control the cutting height, is identified. The crop bed height detected post-harvest is compared to the identified pre-harvest crop bed height at block526. If the difference is above a threshold at block528, then at block530the pre-harvest sensor is calibrated based on the difference. As noted above, if the crop bed height detected pre-harvest is significantly different than the crop bed height detected post-harvest, the pre-harvest sensor is calibrated so that its output more closely corresponds to the post-harvest detection.

At block532, the cutting height is adjusted based on the post-harvest data. For example, if the post-harvest crop bed height is determined to be lower than the pre-harvest height, the cutter height can be raised to reduce the likelihood of further ground contact by the cutter.

Referring again to block522, if the post-harvest field data indicates crop stubble height, block534identifies a cut height set point for the particular area. That is, block534determines the expected crop stubble height. In other words, if the crop height is set to cut two inches from the crop bed, then approximately two inches of crop stubble would be expected post-harvest. At block536, the detected crop stubble height is compared to the cut height set point. If the difference is above a threshold at block538, the pre-harvest sensor can be calculated, as noted above.

FIG.8is a flow diagram illustrating one example of generating a prediction at block466shown inFIG.5. At block552, in-situ field data is received from a sensor, such as sensor276, in the post-harvest area. A depth of the furrow between a first harvest row (e.g., row260) and a second adjacent unharvested row (e.g., row262) is determined at block554. At block556, a prediction of the crop bed height in the second row (e.g., row262) is generated based on the field data. The prediction is correlated to the corresponding location along row262, as represented at block558.

At block560, the prediction is utilized when harvesting the second row during a subsequent pass by the harvesting machine. For example, in the second pass, system156can include comparing an actual sensed crop bed height (sensed by sensor272ahead of the machine) to the predicted value, as represented at block562. At block564, one of the predicted or actual values can be selected at block564. The actual and predicted values can be blended at block566, or the crop row height prediction can be utilized in other ways as well, as represented at block568.

FIG.9is a flow diagram illustrating one example of furrow depth and compaction factor detection at block468shown inFIG.5. At block602, pre-harvest field data is received. In one example, block602is similar to block420discussed above with respect toFIG.5.

At block604, a first indication of furrow depth between first and second crop rows is generated. The harvester is controlled to harvest crop at block606and post-harvest field data is received at block608. In one example, block608is similar to block450discussed above with respect toFIG.5.

At block610, a second indication of furrow depth is generated based on the post-harvest field data. The second indication of furrow depth is generated based on sensor data acquired after the furrow has been traversed by the harvesting machine. At block612, a compaction factor and/or a machine roll angle can be determined based on the first and second indications of furrow depth. For example, differences in the furrow depth can indicate a level of compaction, such as a depth of compaction, a degree of compaction, caused by traversal of the machine through the furrow. Machine roll can be determined based on the furrow depth, such as based on the amount of compaction of the given furrow and/or comparing the depth of the furrow to another furrow on the opposite side of the machine.

The cutting height can be adjusted at block614based on the compaction and/or machine roll. For example, if it is determined that the machine has rolled to one side, the basecutter can be lifted on that side to prevent ground contact.

At block616, a compaction map can be generated that maps compaction factors to the corresponding locations in the field. The compaction map can be stored at block618and/or output at block620to another system for use in a subsequent operation.

FIG.10is a flow diagram illustrating one example of detecting field contact by a harvesting device. At block652, pre-harvest field data is received and, at block654, a pre-harvest height of a crop bed is determined. At block656, a cut height set point is obtained, and a height of the harvesting device is set at block658. At block660, the harvester is controlled to harvest the field and post-harvest field data is received at block662. In one example, blocks652,654,656, and658are similar to blocks420,428,434, and442, respectively, discussed above with respect toFIG.5.

At block664, a post-harvest height of the crop bed is determined. One example is discussed above with respect to block454inFIG.5. At block666, a confidence of the post-harvest measurement is determined. For example, the confidence determination can be based on historical performance data at block668. Illustratively, the confidence indicates a degree to which post-harvest measurements are considered accurate.

At block670, operation determines whether the post-harvest height indication indicates a lower height than the pre-harvest indication. If so, operation proceeds to block672where a field contact is identified, which indicates that the basecutter (or other cutting device) contacted the field and changed the ground height. In one example, a field contact is identified based on the confidence determined at block666exceeding a threshold. Alternatively, or in addition, the field contact can be identified based on detected furrow depth and/or compaction factors, as discussed above and illustrated at block674.

At block676, the cutter height is controlled to prevent further ground contact. At block678, if a field map is utilized for the pre-harvest field data, the field map can be updated to reflect the ground contact. If the process continues at block680, operation returns to block652.

FIG.11is a flow diagram illustrating one example of mode selection at block404shown inFIG.5. At block702, a current detection mode is selected using a machine learning algorithm. Sensor input is received at block704based on the selected mode. For example, if a predictive detection mode is selected, then predicted crop heights can be obtained. Alternatively, if pre-harvest in-situ sensing is selected, field data can be obtained from in-situ sensors on harvesting machine102.

At block706, the harvesting machine is controlled to harvest the field and performance is detected at block708. The performance can indicate a degree to which the desired cutting height has been achieved, or any other performance metrics that are desired. For instance, productivity, quality, etc. can be generated as performance metrics.

At block710, the machine learning algorithm is trained or updated, and if the process continues at block712, operation proceeds to block714in which the detected performance is compared to a threshold. If the performance is not below the threshold, operation returns to block704in which additional sensor data is obtained and the machine learning algorithm can be further trained. If the performance is below the threshold, operation returns to block702in which a different detection mode can be selected to improve performance.

It can thus be seen that the present features provide a system for cutter height detection and control that improves harvester performance. The system utilizes post-harvest in-situ data to identify post-harvest field topology and/or crop stubble height which is used to control cutter height in subsequent areas. For example, a pre-harvest field sensor can be calibrated based on the post-harvest in-situ data. The system can reduce the likelihood of ground contacts and/or increase yield through increased cutter height accuracy.

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. The processors and servers are functional parts of the systems or devices to which the processors and servers 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. The user interface displays 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. The user actuatable input mechanisms can be actuated in a wide variety of different ways. For instance, user actuatable input mechanisms can be actuated using a point and click device (such as a track ball or mouse). The user actuatable input mechanisms can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. The user actuatable input mechanisms can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which the user actuatable input mechanisms are displayed is a touch sensitive screen, the user actuatable input mechanisms can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, the user actuatable input mechanisms can be actuated using speech commands.

A number of data stores have also been discussed. It will be noted the data stores can each be broken into multiple data stores. All of the data stores can be local to the systems accessing the data stores, all of the data stores can be remote, or some data stores can be local while others can be remote. All of these configurations are contemplated herein.

It will be noted that the above discussion has described a variety of different systems, components, logic, and interactions. It will be appreciated that any or all of such systems, components, logic and interactions may be implemented by hardware items, such as processors, memory, or other processing components, including but not limited to artificial intelligence components, such as neural networks, some of which are described below, that perform the functions associated with those systems, components, logic, or interactions. In addition, any or all of the systems, components, logic and interactions may be implemented by software that is loaded into a memory and is subsequently executed by a processor or server or other computing component, as described below. Any or all of the systems, components, logic and interactions may also be implemented by different combinations of hardware, software, firmware, etc., some examples of which are described below. These are some examples of different structures that may be used to implement any or all of the systems, components, logic and interactions described above. Other structures may be used as well.

FIG.12is a block diagram of one example of harvesting machine architecture100, shown inFIG.1, where machine102communicates with elements in a remote server architecture800. In an example, remote server architecture800can provide computation, software, data access, and storage services that do not require end-user knowledge of the physical location or configuration of the system that delivers the services. In various examples, remote servers can deliver the services over a wide area network, such as the internet, using appropriate protocols. For instance, remote servers can deliver applications over a wide area network and the remote servers can be accessed through a web browser or any other computing component. Software or components shown in previous FIGS. as well as the corresponding data, can be stored on servers at a remote location. The computing resources in a remote server environment can be consolidated at a remote data center location or the computing resources can be dispersed. Remote server infrastructures can deliver services through shared data centers, even though the services appear as a single point of access for the user. Thus, the components and functions described herein can be provided from a remote server at a remote location using a remote server architecture. Alternatively, the components and functions can be provided from a conventional server, or the components and functions can be installed on client devices directly, or in other ways.

In the example shown inFIG.12, some items are similar to those shown in previous figures and the items are similarly numbered.FIG.12specifically shows system156from previous FIGS. can be located at a remote server location802. Therefore, machine102, machine116, and/or system118can access those systems through remote server location802.

FIG.12also depicts another example of a remote server architecture.FIG.12shows that it is also contemplated that some elements of previous FIGS. are disposed at remote server location802while others are not. By way of example, one or more of data store130and system156can be disposed at a location separate from location802, and accessed through the remote server at location802. Regardless of where the systems and data stores are located, the systems and data stores can be accessed directly by machines102and/or116through a network (either a wide area network or a local area network), the systems and data stores can be hosted at a remote site by a service, or the systems and data stores can be provided as a service, or accessed by a connection service that resides in a remote location. All of these architectures are contemplated herein.

FIG.13is a simplified block diagram of one illustrative example of a handheld or mobile computing device that can be used as a user's or client's handheld device16, in which the present system (or parts of the present system) can be deployed. For instance, a mobile device can be deployed in the operator compartment of machine102for use in generating, processing, or displaying machine speed and performance metric data.FIGS.11-12are examples of handheld or mobile devices.

FIG.13provides a general block diagram of the components of a client device16that can run some components shown inFIG.1, that interacts with them, or both. In the device16, a communications link13is 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 link13include 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.

In other examples, applications can be received on a removable Secure Digital (SD) card that is connected to an interface15. Interface15and communication links13communicate with a processor17(which can also embody processors or servers from other FIGS.) along a bus19that is also connected to memory21and input/output (I/O) components23, as well as clock25and location system27.

I/O components23, in one embodiment, are provided to facilitate input and output operations. I/O components23for various embodiments of the device16can 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 components23can be used as well.

Clock25illustratively includes a real time clock component that outputs a time and date. Clock25can also, illustratively, provide timing functions for processor17.

Memory21stores operating system29, network settings31, applications33, application configuration settings35, data store37, communication drivers39, and communication configuration settings41. Memory21can include all types of tangible volatile and non-volatile computer-readable memory devices. Memory21can also include computer storage media (described below). Memory21stores computer readable instructions that, when executed by processor17, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor17can be activated by other components to facilitate their functionality as well.

FIG.14shows one example in which device16is a tablet computer850. InFIG.14, computer850is shown with user interface display screen852. Screen852can be a touch screen or a pen-enabled interface that receives inputs from a pen or stylus. Screen852can also use an on-screen virtual keyboard. Of course, screen852might also be attached to a keyboard or other user input device through a suitable attachment mechanism, such as a wireless link or USB port, for instance. Computer850can also illustratively receive voice inputs as well.

Note that other forms of the devices16are possible.

FIG.16is one example of a computing environment in which elements of previous FIGS., or parts of them, (for example) can be deployed. With reference toFIG.16, an example system for implementing some embodiments includes a general-purpose computing device in the form of a computer910programmed to operate as discussed above. Components of computer910may include, but are not limited to, a processing unit920(which can include processors or servers from previous FIGS.), a system memory930, and a system bus921that couples various system components including the system memory to the processing unit920. The system bus921may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. Memory and programs described with respect to previous FIGS. can be deployed in corresponding portions ofFIG.16.

The system memory930includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)931and random access memory (RAM)932. A basic input/output system933(BIOS), containing the basic routines that help to transfer information between elements within computer910, such as during start-up, is typically stored in ROM931. RAM932typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit920. By way of example, and not limitation,FIG.16illustrates operating system934, application programs935, other program modules936, and program data937.

The computer910may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,FIG.16illustrates a hard disk drive941that reads from or writes to non-removable, nonvolatile magnetic media, an optical disk drive955, and nonvolatile optical disk956. The hard disk drive941is typically connected to the system bus921through a non-removable memory interface such as interface940, and optical disk drive955are typically connected to the system bus921by a removable memory interface, such as interface950.

Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware components. For example, and without limitation, illustrative types of hardware components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (e.g., ASICs), Application-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 inFIG.16, provide storage of computer readable instructions, data structures, program modules and other data for the computer910. InFIG.16, for example, hard disk drive941is illustrated as storing operating system944, application programs945, other program modules946, and program data947. Note that these components can either be the same as or different from operating system934, application programs935, other program modules936, and program data937.

A user may enter commands and information into the computer910through input devices such as a keyboard962, a microphone963, and a pointing device961, 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 unit920through a user input interface960that is coupled to the system bus, but may be connected by other interface and bus structures. A visual display991or other type of display device is also connected to the system bus921via an interface, such as a video interface990. In addition to the monitor, computers may also include other peripheral output devices such as speakers997and printer996, which may be connected through an output peripheral interface995.

The computer910is operated in a networked environment using logical connections (such as a controller area network—CAN, a local area network—LAN, or wide area network WAN) to one or more remote computers, such as a remote computer980.

When used in a LAN networking environment, the computer910is connected to the LAN971through a network interface or adapter970. When used in a WAN networking environment, the computer910typically includes a modem972or other means for establishing communications over the WAN973, such as the Internet. In a networked environment, program modules may be stored in a remote memory storage device.FIG.16illustrates, for example, that remote application programs985can reside on remote computer980.