Patent Description:
There are a wide variety of different types of agricultural equipment that can be used to plant seeds or apply other commodities to a field. Such equipment can include planters which have row units. Each row unit has a seed tank that carries seed that is to be planted by that row unit. The seed is metered and singulated from the tank on each row unit and can be dropped into a furrow created by the row unit or it can be actively moved to the furrow. Other equipment can include air seeders. Air seeders have a central seed or commodity tank. The seed or commodity tank is metered and delivered to furrows through tubes using air delivery. The furrows are opened by a furrow opener.

When applying seed or fertilizer or other materials, it is important to apply the correct amount per acre. Over-seeding can result in wasted product, while under-seeding can result in lower yield per acre than the field could otherwise support. For fertilizer, over application can result in damage to the plant, while under-application can reduce the efficacy of the application. <CIT> discloses an agricultural seed drill, in particular precision seed drill, for laying seed and/or fertilizer. The seed drill has a frame extending transversely to the direction of travel and several dosing and/or spreading elements arranged at a distance from each other on the frame. Each spreading element has its own drive unit for depositing metered seed. The seed drill comprises at least one recording device for recording measured values as well as a control device which controls the drive unit of each dosing and/or spreading element in such a way that the rate of dosed, in particular isolated, seed within a seed row corresponds at least approximately to a constant, adjustable value. In order to provide a seed drill and a method which makes it easy to detect a curve and to control the seed placement according to an adjustable rate based on the detected cornering, it is envisaged that at least one detection device for the acquisition of measured values is designed as a yaw rate sensor and that the control of the drive unit of each dosing and/or spreading element is based on the measured yaw rates.

Further, <CIT> discloses a method for applying agricultural substances in curves by determining, or approximately determining, target application amounts for individual application devices of an application unit for applying agricultural substances. First of all, as an agricultural vehicle travels over an agricultural area, cornering is detected. If an exact target application amount is to be determined, this step is followed by determining the curve radius of the vehicle centre-point to be travelled, and the curve radii of each of the individual application devices, the target application amount of an individual application device being determined on this basis. If an approximate target application amount is to be determined, then the degree of curvature to be travelled is determined approximately, the target application amount of the individual application device being determined approximately based on the data determined in this manner.

It is further known from <CIT> that a particulate material metering system including a controller configured to determine a radius of curvature of a path of a lead vehicle coupled to an agricultural implement. The controller is configured to determine a lead time of the lead vehicle relative to the agricultural implement based on a speed of the lead vehicle and/or the agricultural implement. The controller is configured to determine a radius of curvature of a path of the agricultural implement based on the radius of curvature of the path of the lead vehicle at a determination time, in which the determination time is a current time minus an offset time, and the offset time is based on the lead time. The controller is configured to determine target particulate material flow rates of respective metering devices of the particulate material metering system based on the radius of curvature of the path of the agricultural implement.

As a planting tool (or seeding tool) travels around a curve, the outer end of the seeding tool moves over the field more quickly than the inner end of the seeding tool. Therefore, if a static seeding rate is maintained during a curve, than the outer portion of the seeding tool under-seeds while the inner portion of the seeding tool over-seeds. Therefore, some seeding tools include curve compensation functionality. This type of functionality varies the seeding rate across the seeding tool while seeding around a corner, such as around the borders of the field and when going around water holes in the field, and other obstacles. The seed rate is varied in order to more closely obtain a uniform seeding rate on the ground. Therefore, the seed delivery rate is controlled to be higher on the part of the seeding tool that is navigating the outer part of the turn and lower on the part of the seeding tool that is navigating the inner part of the turn.

Some current curve compensation functionality uses a yaw rate sensor mounted on the seeding tool frame or speed sensors mounted on the extremities of the seeding tool frame. The instantaneous yaw rate is used to compensate the speed of the seed meter to vary the planting rate as the planting tool travels around the curve.

A yaw rate is sensed on a towing vehicle that is towing an air application implement. The sensed yaw rate is used to predict a future yaw rate on the air application implement. An application rate of material is varied across the application implement based upon the predicted yaw rate across the implement.

In yet another embodiment the agricultural system may further comprise: a yaw rate aggregator aggregating a plurality of detected instantaneous yaw rates to obtain a set of aggregated instantaneous yaw rates.

The tool yaw rate prediction system might be configured to predict, based on the aggregated instantaneous yaw rates, the plurality of different yaw rate values.

Further, the tool yaw rate prediction system may comprise: a curve/table accessing system configured to access a pre-defined correlation that correlates instantaneous yaw rate values to predicted yaw rate values to obtain the plurality of different predicted yaw rate values. Further, the tool yaw rate prediction system may comprise: a runtime calculation system configured to perform a run time calculation based on the instantaneous yaw rate values to obtain the plurality of different predicted yaw rate values.

In a further embodiment the meter controller may comprise: a curve/table accessing system configured to access a pre-defined correlation that correlates predicted yaw rate values to control signal values to obtain the control signal.

Further, the meter controller may comprise: a runtime calculation system configured to perform a run time calculation based on the predicted yaw rate values to obtain the control signal.

In a further embodiment the instantaneous yaw rate detector may comprise: a wheel angle detector configured to detect a wheel angle of a wheel on the towing vehicle.

The instantaneous yaw rate detector may also comprise: a steering wheel angle detector configured to detect a steering wheel angle of a steering wheel on the towing vehicle.

In another embodiment the agricultural system may comprise a computer system, said computer system comprising: at least one processor; and a data store storing computer executable instructions which, when executed by the at least one processor, causes the at least one processor to perform steps to control an agricultural machine, comprising: receiving an instantaneous yaw rate of the towing vehicle, the towing vehicle towing an application tool that applies material to a field at work points distributed along a transverse axis of the application tool; predicting, based on the instantaneous yaw rate detected on the towing vehicle, a plurality of different yaw rate values, each predicted yaw rate value of the plurality of different predicted yaw rate values corresponding to each work point of a set of the work points distributed along the transverse axis of the application tool; and generating a control signal to control a meter that controls a rate at which the material is provided to the work points based on the plurality of different predicted yaw rate values.

In another embodiment a computer-implemented method of controlling an agricultural machine, as defined above, comprises: detecting, on a towing vehicle, an instantaneous yaw rate of the towing vehicle, the towing vehicle towing an application tool that applies material to a field at work points distributed along a transverse axis of the application tool; predicting, based on the instantaneous yaw rate detected on the towing vehicle, a plurality of different yaw rate values, each predicted yaw rate value of the plurality of different predicted yaw rate values corresponding to each work point of a set of the work points distributed along the transverse axis of the application tool; and
generating a control signal to control a meter that controls a rate at which the material is provided to the work points based on the plurality of different predicted yaw rate values. The method may also comprise: aggregating a plurality of detected instantaneous yaw rates to obtain a set of aggregated instantaneous yaw rates.

It may further comprise: predicting, based on the aggregated instantaneous yaw rates, the plurality of different yaw rate values.

Furthermore, the method may comprise: accessing a pre-defined correlation that correlates instantaneous yaw rate values to predicted yaw rate values to obtain the plurality of different predicted yaw rate values.

Furthermore, the method may include that predicting comprises: performing a run time calculation based on the instantaneous yaw rate values to obtain the plurality of different predicted yaw rate values.

Furthermore, the method may include that generating a control signal comprises: accessing a pre-defined correlation that correlates predicted yaw rate values to control signal values to obtain the control signal.

Furthermore, the method may include that generating a control signal comprises: performing a run time calculation based on the predicted yaw rate values to obtain the control signal.

Furthermore, the method may include that detecting an instantaneous yaw rate of the towing vehicle comprises: detecting a wheel angle of a wheel on the towing vehicle.

The method may further include that detecting an instantaneous yaw rate of the towing vehicle comprises: detecting a steering wheel angle of a steering wheel on the towing vehicle.

The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.

As discussed above, some planters employ curve compensation functionality in an attempt to maintain a relatively constant seed rate, even as a seeding tool navigates around a curve. The instantaneous yaw rate sensed on the frame of the planter may be used to vary the planting rate (or application rate of other material). As described herein, the yaw of a machine is the rotation of that machine around its yaw axis, changing the heading of the machine to the left or right of its direction of motion. The yaw rate is the angular velocity of the yaw. The yaw rate on the planter itself may provide adequate performance for planters, because, when the seed is placed in the furrow using a seed tube the seed drops from the meter into the seed furrow in a fraction of a second. The seed may be placed even more quickly when using an active seed delivery system.

However, on an air seeder, it can take between <NUM> and <NUM> seconds (or more) for the seed to travel from the meter on the air cart to the seed furrow. Therefore, using the instantaneous yaw rate of the seeding tool frame to vary the seeding rate provides inadequate performance because by the time the seed travels from the meter to the furrow, the seeding tool has traveled <NUM> to <NUM> seconds along its path. For example, when traveling at <NUM> mph, the towing vehicle travels approximately <NUM> feet in <NUM> seconds. Therefore, if the seeding tool is being used to seed around the perimeter of the field, the instantaneous yaw rate on the tool itself is unacceptable because the seeding tool may have already passed through the turn and be running straight by the time the seed reaches the furrow. Thus, the variation in seed rate is not applied during the turn, but after the turn. The result is that, during the turn, the inside of the curve is over-seeded and the outside of the curve is under-seeded. During the exit from the turn, the seed distribution is uneven across the tool for a time that is equivalent to the duration of the turn.

The present description thus describes a system that senses the instantaneous yaw rate on the towing vehicle and generates a predicted yaw rate of the tool at a look-ahead time in the future. Depending on the speed of the towing vehicle and the distance between the yaw rate sensor on the towing vehicle and the work point of the implement being towed, for which the yaw rate is being predicted, the instantaneous yaw rate of the towing vehicle is used as the predicted yaw rate (adjusted for the variation in speed across the seeding tool). However, in other configurations, such as where the seeding tool is towed behind the air cart, the work point of the tool arrives at the location of the tractor much later than when the seeding tool is towed between the towing vehicle and the air cart. In that case, the present description describes a system which predicts the yaw rate across the seeding tool in a way that accommodates for the extra distance between the seeding tool and the towing vehicle. For example, the present description describes a system which may aggregate a set of instantaneous yaw rate values from the yaw rate sensor on the tractor (such as a rolling table of yaw rate values) which can then be used to predict a yaw rate across the seeding tool at a time in the future when the seeding tool reaches the location where the instantaneous values of the towing vehicle were taken. These and other techniques for predicting a yaw rate value across the seeding tool can be used. The seed rate (or other application rate) can then be controlled across the seeding tool based upon the predicted yaw rate across the seeding tool.

The present description will proceed with respect to the application tool being an air seeder that has an air cart and a seeding tool. The air cart has a meter and delivery system that meters and delivers seed to different work points on the seeding tool, where furrows are opened by openers on the seeding tool. However, the application tool could be an implement that applies fertilizer or other material as well.

<FIG> is a side view of an example of an agricultural system <NUM> which includes an agricultural implement, in particular an air or pneumatic seeder <NUM>. In the example shown in <FIG>, the seeder <NUM> comprises a tilling implement (or seeding tool) <NUM> (also sometimes called a drill) towed between a tractor (or other towing vehicle) <NUM> and a commodity cart (also sometimes called an air cart) <NUM>. The commodity cart <NUM> has a frame <NUM> upon which a series of product tanks <NUM>, <NUM>, <NUM>, and <NUM>, and wheels <NUM> are mounted. Each product tank has a door (a representative door <NUM> is labeled) releasably sealing an opening at its upper end for filling the tank with product, most usually a commodity of one type or another. A metering system <NUM> is provided at a lower end of each tank (a representative one of which is labeled) for controlled feeding or draining of product (most typically granular material) into a pneumatic distribution system <NUM>. The tanks <NUM>, <NUM>, <NUM>, and <NUM> can hold, for example, a material or commodity such as seed or fertilizer to be distributed to the soil. The tanks can be hoppers, bins, boxes, containers, etc. The term "tank" shall be broadly construed herein. Furthermore, one tank with multiple compartments can also be provided instead of separated tanks.

The seeding tool/implement <NUM> includes a frame <NUM> supported by ground wheels <NUM>. Frame <NUM> is connected to a leading portion of the commodity cart <NUM>, for example by a tongue style attachment (not labeled). The commodity cart <NUM> as shown is sometimes called a "tow behind cart," meaning that the cart <NUM> follows the implement <NUM>. In an alternative arrangement, the cart <NUM> can be configured as a "tow between cart," meaning the cart <NUM> is between the tractor <NUM> and implement <NUM>. In yet a further possible arrangement, the commodity cart <NUM> and implement <NUM> can be combined to form a unified rather than separated configuration. These are just examples of additional possible configurations. Other configurations are even possible and all configurations should be considered contemplated and within the scope of the present description.

In the example shown in <FIG>, tractor <NUM> is coupled by couplings <NUM> to seeding tool <NUM> which is coupled by couplings <NUM> to commodity cart <NUM>. The couplings <NUM> and <NUM> can be mechanical, hydraulic, pneumatic, and electrical couplings and/or other couplings. The couplings <NUM> and <NUM> can include wired and wireless couplings as well.

The pneumatic distribution system <NUM> includes a fan (not shown) connected to a product delivery conduit structure having multiple product flow passages <NUM>. The fan directs air through the flow passages <NUM>. Each product metering system <NUM> controls delivery of product from its associated tank at a controllable rate to the transporting airstreams moving through flow passages <NUM>. In this manner, each flow passage <NUM> carries product from the tanks to a secondary distribution tower <NUM> on the tilling implement <NUM>. Typically, there will be one tower <NUM> for each flow passage <NUM>. Each tower <NUM> includes a secondary distributing manifold <NUM>, typically located at the top of a vertical tube. The distributing manifold <NUM> divides the flow of product into a number of secondary distribution lines <NUM>. Each secondary distribution line <NUM> delivers product to one of a plurality of ground engaging tools <NUM> (also known as ground openers) that define the locations of work points on seeding tool <NUM>. The ground engaging tools <NUM> open a furrow in the soil <NUM> and facilitates deposit of the product therein. The number of flow passages <NUM> that feed into secondary distribution may vary from one to eight or ten or more, depending at least upon the configuration of the commodity cart <NUM> and tilling implement <NUM>. Depending upon the cart and implement, there may be two distribution manifolds <NUM> in the air stream between the meters <NUM> and the ground engaging tools <NUM>. Alternatively, in some configurations, the product is metered directly from the tank or tanks into secondary distribution lines that lead to the ground engaging tools <NUM> without any need for an intermediate distribution manifold. The product metering system <NUM> can be configured to vary the rate of delivery of seed to each work point on tool <NUM> or to different sets or zones of work points on tool <NUM>. The configurations described herein are only examples. Other configurations are possible and should be considered contemplated and within the scope of the present description.

A firming or closing wheel <NUM> associated with each ground engaging tool <NUM> trails the tool and firms the soil over the product deposited in the soil. In practice, a variety of different types of tools <NUM> are used including, but not necessarily limited to, tines, shanks and disks. The tools <NUM> are typically moveable between a lowered position engaging the ground and a raised position riding above the ground. Each individual tool <NUM> may be configured to be raised by a separate actuator. Alternatively, multiple tools <NUM> may be mounted to a common component for movement together. In yet another alternative, the tools <NUM> may be fixed to the frame <NUM>, the frame being configured to be raised and lowered with the tools <NUM>.

Examples of air or pneumatic seeder <NUM> described above should not be considered limiting. The features described in the present description can be applied to any seeder configuration, or other material application machine, whether specifically described herein or not.

<FIG> also shows that agricultural system <NUM> includes look-ahead planting control system <NUM>. System <NUM> senses the yaw rate on tractor <NUM> and uses that yaw rate to predict the yaw rate across the frame <NUM> of implement <NUM>, at the different work points where seeds are delivered to the furrows. System <NUM> is described in greater detail below.

It will be appreciated, that different portions of system <NUM> can reside on tractor <NUM>, on tool or implement <NUM>, and/or on air cart <NUM>, or all of the elements of system <NUM> can be located at one place (e.g., on tractor <NUM>). Elements of system <NUM> can be distributed to a remote server architecture or in other ways as well.

<FIG> is a top view of agricultural system <NUM>, in which some items are similar to those shown in <FIG> and are similarly numbered. <FIG> shows that implement <NUM> has a plurality of work points <NUM>-<NUM> to <NUM>-<NUM> distributed along a transverse axis <NUM> of implement <NUM>. <FIG> also shows that tractor <NUM> has now turned at an angle relative to implement <NUM>. Thus, when implement <NUM> travels forward, a first end <NUM> of implement <NUM> will travel along an outside of a curve generally along the path indicated by arrow <NUM>. A second end <NUM> of implement <NUM> will travel along the inside of a curve generally indicated by arrow <NUM>. Therefore, the first portion <NUM> of implement <NUM> will be traveling more quickly over the ground <NUM> than the second portion <NUM>. In that case, look-ahead planting control system <NUM> uses the yaw rate sensed on tractor <NUM> to predict the yaw rate at the different work points <NUM>-<NUM> to <NUM>-<NUM> across the transverse axis <NUM> of implement <NUM> so that the seeding rate (or other application rate) from air cart <NUM> across implement <NUM> can be controlled to more closely conform to a uniform application rate, even through the curve. In the example shown <FIG>, implement <NUM> is coupled between tractor <NUM> and air cart <NUM>. Therefore, depending on the speed of tractor <NUM>, and the distance from the yaw rate sensor <NUM> to the work points <NUM>-<NUM> to <NUM>-<NUM>, it may be that the sensed yaw rate on tractor <NUM> can be used to predict the yaw rate across the work points on the frame <NUM> of implement <NUM>.

<FIG> shows a top view of an agricultural system <NUM> which is similar to that shown in <FIG>, and in which similar items are similarly numbered. However, in <FIG>, it can be seen that implement <NUM> is now towed behind air cart <NUM> so that the delay between when tractor <NUM> travels over ground and when the work points <NUM>-<NUM> to <NUM>-<NUM> on implement <NUM> reaching that position on the ground <NUM> is greater than that delay for the configuration shown in <FIG>. Therefore, in the configuration shown in <FIG>, look-ahead planting control system <NUM> may use a set of instantaneous yaw rate values sensed on tractor <NUM> in order to predict the yaw rate across the work points on the transverse axis <NUM> of implement <NUM>.

In the various configurations shown in <FIG>, the yaw rate predicted across the work points <NUM>-<NUM> to <NUM>-<NUM> along the transverse axis <NUM> of implement <NUM> can be used to control the metering systems on air cart <NUM> so that the seed is metered at a higher rate to the first end <NUM> of implement <NUM> and at a lower rate to the second end <NUM> of implement <NUM> while the implement <NUM> is traveling through the curve, in order to more closely conform to a consistent application rate through the curve.

<FIG> is a block diagram of one example of look-ahead planting control system <NUM>. Again, while <FIG> shows an example in which all of the elements of system <NUM> are deployed in one spot, the elements can be distributed among the different pieces of agricultural system <NUM> (e.g., on tractor <NUM>, implement <NUM>, and air cart <NUM>) or they can be distributed in other ways, such as to a remote server environment or otherwise. In the example shown in <FIG>, look-ahead planting control system <NUM> includes one or more processors or servers <NUM>, data store <NUM>, known path yaw rate prediction system <NUM>, instantaneous yaw rate detector <NUM>, yaw rate aggregator <NUM>, tool yaw rate prediction system <NUM>, meter controller <NUM>, operator interface system <NUM>, and other items <NUM>. Data store <NUM> includes machine dimensions <NUM>, aggregated yaw rate values <NUM>, pre-defined predicted yaw rate look-up tables, curves, etc. <NUM>, pre-defined meter control lookup tables, curves, etc. <NUM>, and other items <NUM>. Tool yaw rate prediction system <NUM> includes data store interaction system <NUM>, curve/table accessing system <NUM>, run time calculation system <NUM>, and other items <NUM>. Meter controller <NUM> includes data store interaction system <NUM>, control signal generator <NUM> (which, itself, includes curve/table accessing system <NUM>, runtime calculation system <NUM>, and other items <NUM>), control signal output system <NUM>, and other items <NUM>. Before describing the overall operation of look-ahead planting control system <NUM> in more detail, a discussion of some of the items in system <NUM>, and their operation, will first be provided.

Machine dimensions <NUM> may include the physical dimensions of implement <NUM> and tractor <NUM>, such as the distance of the work points where the seed is dropped by implement <NUM> relative to the location of the yaw rate sensor on tractor <NUM> and relative to the metering system on air cart <NUM>, etc. The machine dimensions <NUM> may include the transverse width of implement <NUM> and/or other machine dimensions.

Aggregated yaw rate values <NUM> may be generated by yaw rate aggregator <NUM> aggregating instantaneous yaw rate values sensed by instantaneous yaw rate detector <NUM>. Detector <NUM>, may, for instance, be an inertial measurement unit (IMU - such as an accelerometer, a gyroscope, etc.) or a global navigation satellite system (GNSS) receiver from which the yaw rate can be derived. Instantaneous rate detector <NUM> can be a sensor that senses a proxy of yaw rate, such as a wheel angle that senses the angle of the wheels on tractor <NUM>, a steering wheel angle sensor that senses the angle of a steering wheel on tractor <NUM>, an articulation angle sensor that senses an articulation angle of an articulated tractor frame, or other instantaneous yaw rate detectors that detect a variable either indicative of the instantaneous yaw rate, or the yaw rate itself. Yaw rate aggregator <NUM> can aggregate a rolling table of instantaneous yaw rate values which can be used to predict the yaw rate at the work points <NUM>-<NUM> to <NUM>-<NUM> across the transverse axis <NUM> of implement <NUM>. Those values can be stored as aggregated yaw rate values <NUM>.

Pre-defined predicted yaw rate look-up tables or curves <NUM> can be look-up tables that store predicted yaw rate values across the transverse axis <NUM> of implement <NUM> based on a variety of inputs, such as based on the machine configuration (e.g., a model of the physical dimensions of various machines, the position of implement <NUM> relative to tractor <NUM> and air cart <NUM>, the speed of tractor <NUM>, the instantaneous yaw rate value measured at tractor <NUM>, and other values). Those input values can be used to access a predefined correlation between the instantaneous yaw rate on tractor <NUM> and predicted yaw rates, such as a curve or table that gives the predicted yaw rate values at the different work points <NUM>-<NUM> to <NUM>-<NUM> across implement <NUM>.

Once the predicted yaw rate values are known for the work points across the transverse axis <NUM> of implement <NUM>, then predefined meter control look up tables or curves <NUM> can be accessed to identify the control signal values that will be applied to the meters on air cart <NUM> to control metering of seed or other applied material based upon the predicted yaw rate values on implement <NUM>.

Tool yaw rate prediction system <NUM> receives the instantaneous yaw rate value or the aggregated values and predicts the yaw rate values at the work points across the transverse axis <NUM> of implement <NUM>. Data store interaction system <NUM> can interact with data store <NUM> to obtain machine dimensions <NUM>, aggregated yaw rate values <NUM>, or other information. Curve/table accessing system <NUM> can access the predefined predicted yaw rate look up tables or curves <NUM> to identify the predicted yaw rate values across the work points on transverse axis <NUM> of implement <NUM>. Runtime calculation system <NUM> can obtain the instantaneous yaw rate value or aggregated yaw rate values and the machine dimensions and perform a runtime calculation to obtain the predicted yaw rate values across the transverse axis <NUM> of implement <NUM>. Thus, runtime calculations system <NUM> can calculate the predicted yaw rate values instead of having curve/table accessing system <NUM> look those values up in the pre-defined predicted yaw rate look up tables or curves <NUM>.

The predicted yaw rate values are output to meter controller <NUM> which generate meter control signals to control the meters on air cart <NUM> based upon the predicted yaw rate values that are predicted across the transverse axis <NUM> of implement <NUM>. Data store interaction system <NUM> interacts with data store <NUM> to obtain information so that control signal generator <NUM> can generate control signals, or determine which control signals to generate, for the meters on air cart <NUM>, based upon the predicted yaw rates across the transverse axis <NUM> of implement <NUM>. Curve/table accessing system <NUM> can access a predefined correlation between predicted yaw rate values and meter control signal values, such as the predefined meter control lookup tables/curves <NUM> based upon the predicted yaw rates across the work points of transverse axis <NUM> of implement <NUM> to identify a meter control signal for controlling the meters that provide commodity at those different work points across implement <NUM>. In another example, runtime calculation system <NUM> can calculate the meter control signals that are to be used to control the meters based upon the predicted yaw rates.

Control signal generator <NUM> can use other mechanisms <NUM> to identify the control signals in other ways as well. Control signal output system <NUM> then applies the control signals to the meters on air cart <NUM> to control the meters, based upon the predicted yaw rates, to supply seed or other commodity to the work points across the transverse access <NUM> of implement <NUM>. The seed or other commodity will be provided at different rates to the different work points across the transverse access <NUM> as implement <NUM> travels through a curve, so that the material or seed can be applied to the ground at a consistent rate.

Operator interface system <NUM> can include operator interface mechanisms, such as a steering wheel, joysticks, pedals, levers, linkages, buttons, dials, etc. The operator interface mechanisms can include one or more display screens, speakers, and other audio, visual, and/or haptic devices. Operator interface system <NUM> can control the operator interface mechanisms to generate a display or other output indicative of how the predicted yaw rates are generated, how the meter control signals are generated, the value of the predicted yaw rates and meter control signals, or other information indicative of the seed rate (or other application rate) that is being varied across the transverse access <NUM> of implement <NUM> in order to accomplish a consistent seed rate on the ground, even when implement <NUM> is moving through a curve.

Before describing the operation of system <NUM> in more detail, it will first be noted that, in some examples, tractor <NUM> will be autonomously or otherwise automatically controlled to follow a known path, at a known speed. It such an example, known path yaw rate prediction system <NUM> can generate the predicted future yaw rate values on tool <NUM> given the known path and the known speed. However, in other scenarios, the towing vehicle <NUM> will not be operated automatically or autonomously according to a known path at a known speed. Instead, towing vehicle <NUM> may be manually controlled or it may be at least manually controlled through turns. In these scenarios, system <NUM> generates the predicted yaw rate values as described below.

<FIG> is a flow diagram illustrating one example of the operation of the agricultural system <NUM> in controlling seed rate of an air seeder as it is traveling through a curve. It is first assumed that a planting/seeding system, such as an air seeder, a fertilizer, etc. is operating in a field, as indicated by block <NUM> in the flow diagram of <FIG>. The planting/seeding system is illustratively configured with access to a look-ahead planting control system <NUM>, as indicated by block <NUM>. As discussed above, the planting/seeding system can access the look-ahead planting control system <NUM> in a remote server architecture, or in other distributed environment, or the system <NUM> can be fully deployed on tractor <NUM> or elsewhere. The planting/seeding system can be operating in a field in other ways as well, as indicated by block <NUM>.

The instantaneous yaw rate detector <NUM> then detects an instantaneous yaw rate on the towing vehicle, such as tractor <NUM>, as indicated by block <NUM> in the flow diagram of <FIG>. A proxy of the instantaneous yaw rate can be detected as well, such as by using a wheel angle sensor that senses the angle of one or more of the wheels on tractor <NUM>, a steering wheel angle sensor that senses the angle of the steering wheel on tractor <NUM>, an articulation angle sensor that senses the articulation angle of an articulated frame on tractor <NUM>, or other proxy values, as indicated by block <NUM>. The instantaneous yaw rate detector <NUM> can be an inertial measurement unit, such as an accelerometer or gyroscope, as indicated by block <NUM>. The instantaneous yaw rate detector <NUM> can be a global navigation satellite system GNSS) receiver, as indicated by block <NUM>. The instantaneous yaw rate on the towing vehicle can be detected in other ways, using other sensors as well, as indicated by block <NUM>.

Tool yaw rate prediction system <NUM> then predicts the yaw rates at the work points across the transverse axis <NUM> of tool <NUM>, as indicated by block <NUM> in the flow diagram of <FIG>. Predicting the yaw rate values is described in greater detail below with respect to <FIG>. Meter controller <NUM> then generates meter control signals to control the seed meters or other commodity meters on air cart <NUM> based upon the predicted yaw rate values, as indicated by block <NUM> in the flow diagram <FIG>. Curve/table accessing system <NUM> can access the predefined meter control look up tables or curves <NUM> to identify the particular meter control signals that are to be used based upon the predicted yaw rate values, as indicated by block <NUM>. Runtime calculation system <NUM> can perform a runtime calculation to identify the meter control signals based upon the predictive yaw rate values, as indicated by block <NUM>. The meter control signals can be identified and generated in other ways as well, as indicated by block <NUM>. Control signal output system <NUM> then applies the meter control signals to control the meters on air cart <NUM> based upon the predicted yaw rate values across <NUM>. Applying the control signals to the meters is indicated by block <NUM> in the flow diagram of <FIG>.

Operator interface system <NUM> can then generate an operator output based upon the predicted yaw rates and/or the meter control signals, as indicated by block <NUM>. The operator output can be a visual output showing how the meters are variably controlled as tool <NUM> moves through a curve. The operator output can be a graphical output, an audible output, or any of a wide variety of other outputs.

<FIG> is a flow diagram illustrating one example of how tool yaw rate prediction system <NUM> predicts the yaw rates at the work points across the transverse axis <NUM> of tool <NUM>, based upon the instantaneous yaw rate detected on tractor <NUM>, in more detail. It is first assumed that tool yaw rate prediction system <NUM> receives the detected yaw rate values on the towing vehicle <NUM>, as indicated by block <NUM> in the flow diagram of <FIG>. The yaw rate that is received may be the instantaneous yaw rate generated by instantaneous yaw rate detector <NUM>, or a rolling average of yaw rate values, or another aggregation of yaw rate values generated by yaw rate aggregator <NUM>, as indicated by block <NUM> in the flow diagram of <FIG>. The yaw rate can be received in other ways as well, as indicated by block <NUM>.

Data store interaction system <NUM> can then access data store <NUM> to identify the machine configuration and dimensions which can then be used by tool yaw rate prediction system <NUM> to identify the predicted yaw rate values. Identifying the machine configuration and dimensions is indicated by block <NUM> in the flow diagram of <FIG>.

Tool yaw rate prediction system <NUM> then identifies the predicted yaw rate values at the work points across the transverse axis <NUM> of tool <NUM>, as indicated by block <NUM>. Depending upon the speed of the towing vehicle <NUM> (which is detected by vehicle speed detector) and depending upon the machine configuration (such as how far behind the towing vehicle <NUM> the work points on implement <NUM> are located), it may be that runtime calculation system <NUM> simply uses a filtered, detected yaw rate value from the towing vehicle <NUM>, as the predicted yaw rate value on the tool <NUM>, and adjusted based upon the location of the work points across the transverse axis <NUM>. Using a filtered, detected yaw rate on the towing vehicle <NUM>, as the predicted value, is indicated by block <NUM> in the flow diagram of <FIG>.

In another example, curve/table accessing system <NUM> can access the predefined predicted yaw rate lookup tables and/or curves <NUM> based upon the instantaneous yaw rate value generated by detector <NUM> and/or the aggregated values generated by aggregator <NUM> to identify the predicted yaw rates at the work points across tool <NUM>. Accessing the predefined curve or lookup tables <NUM> is indicated by block <NUM> in the flow diagram of <FIG>. In another example, runtime calculation system <NUM> can perform a runtime calculation to identify the predicted yaw rate values at the work points across tool <NUM>, as indicated by block <NUM>.

It will also be noted that tool yaw rate prediction system <NUM> can generate the predicted yaw rate values for individual work points across tool <NUM>, or for sections of work points across tool <NUM>, as indicated by block <NUM>. The predicted yaw rate values can be identified in other ways as well, as indicated by block <NUM>.

Tool yaw rate prediction system <NUM> then outputs the predicted yaw rate values to meter controller <NUM> for control of the meters on air seeder <NUM>. Outputting the predicted yaw rate values is indicated by block <NUM> in the flow diagram of <FIG>.

It can thus be seen that the present system uses the instantaneous yaw rate detected on the towing vehicle (or an aggregated set of those values) to predict the yaw rate values at work points across the seeding tool. These yaw rates can then be used to identify meter control signals that are applied to the meters providing material to those work points so that the material application rate can be consistently controlled, even around curves. It will also be noted that, instead of generating predictive yaw rates for the work points, the predefined predicted curves and tables <NUM> and <NUM> can be combined so that, given an instantaneous yaw rate, or an aggregated set of instantaneous yaw rate values, the meter control signals can be directly obtained without first obtaining the predicted yaw rate values and then obtaining the control signal values.

It will also be noted that different yaw rate look-up tables or curves can be generated for different seeding configurations, for different size seeders, for different models of seeders, or for other variations. Also, different meter control look-up tables and curves <NUM> can be generated for different models of meters, for different seeders, or for different seeder configurations or other variations.

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 they belong and are activated by, and facilitate the functionality of the other components or items in those systems.

The 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 mechanisms can also be actuated in a wide variety of different ways. For instance, the mechanisms can be actuated using a point and click device (such as a track ball or mouse). The mechanisms can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. The mechanisms can also be actuated using a virtual keyboard or other virtual actuators.

It will be noted the data stores can each be broken into multiple data stores.

<FIG> is a block diagram of system <NUM>, shown in <FIG>, except that system <NUM> communicates with elements in a remote server architecture <NUM>. In an example, remote server architecture <NUM> can 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 they 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 they can be dispersed. Remote server infrastructures can deliver services through shared data centers, even though they 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, they can be provided from a conventional server, or they can be installed on client devices directly, or in other ways.

In the example shown in <FIG>, some items are similar to those shown in previous FIGS. and they are similarly numbered. <FIG> specifically shows that system150 can be located at a remote server location <NUM>. Therefore, system <NUM> accesses those systems through remote server location <NUM>.

<FIG> also depicts another example of a remote server architecture. <FIG> shows that it is also contemplated that some elements of previous FIGS are disposed at remote server location <NUM> while others are not. By way of example, data store <NUM> or tool yaw rate prediction system <NUM> can be disposed at a location separate from location <NUM>, and accessed through the remote server at location <NUM>. Regardless of where they are located, they can be accessed directly by system <NUM>, through a network (either a wide area network or a local area network), they can be hosted at a remote site by a service, or they can be provided as a service, or accessed by a connection service that resides in a remote location. Also, the data can be stored in substantially any location and intermittently accessed by, or forwarded to, interested parties. For instance, physical carriers can be used instead of, or in addition to, electromagnetic wave carriers. In such an example, where cell coverage is poor or nonexistent, another mobile machine (such as a fuel truck) can have an automated information collection system. As the tractor comes close to the fuel truck for fueling, the system automatically collects the information from the tractor using any type of ad-hoc wireless connection. The collected information can then be forwarded to the main network as the fuel truck reaches a location where there is cellular coverage (or other wireless coverage). For instance, the fuel truck may enter a covered location when traveling to fuel other machines or when at a main fuel storage location. All of these architectures are contemplated herein. Further, the information can be stored on the tractor until the tractor enters a covered location. The tractor, itself, can then send the information to the main network.

It will also be noted that the elements of previous FIGS. , or portions of them, can be disposed on a wide variety of different devices. Some of those devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices, such as palm top computers, cell phones, smart phones, multimedia players, personal digital assistants, etc..

<FIG> is 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 hand held device <NUM>, in which the present system (or parts of it) can be deployed. For instance, a mobile device can be deployed in the operator compartment of tractor <NUM> for use in generating, processing, or displaying the yaw rate or meter control data. <FIG> are examples of handheld or mobile devices.

<FIG> provides a general block diagram of the components of a client device <NUM> that can run some components shown in previous FIGS. , that interacts with them, or both. In the device <NUM>, a communications link <NUM> is provided that allows the handheld device to communicate with other computing devices and under some examples provides a channel for receiving information automatically, such as by scanning. Examples of communications link <NUM> 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.

In other examples, applications can be received on a removable Secure Digital (SD) card that is connected to an interface <NUM>. Interface <NUM> and communication links <NUM> communicate with a processor <NUM> (which can also embody processors or servers from previous FIGS. ) along a bus <NUM> that is also connected to memory <NUM> and input/output (I/O) components <NUM>, as well as clock <NUM> and location system <NUM>.

I/O components <NUM>, in one example, are provided to facilitate input and output operations. I/O components <NUM> for various examples of the device <NUM> 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 <NUM> can be used as well.

System <NUM> can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.

Memory <NUM> stores operating system <NUM>, network settings <NUM>, applications <NUM>, application configuration settings <NUM>, data store <NUM>, communication drivers <NUM>, and communication configuration settings <NUM>. Memory <NUM> can include all types of tangible volatile and nonvolatile computer-readable memory devices. Memory <NUM> can also include computer storage media (described below). Memory <NUM> stores computer readable instructions that, when executed by processor <NUM>, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor <NUM> can be activated by other components to facilitate their functionality as well.

<FIG> shows one example in which device <NUM> is a tablet computer <NUM>. In <FIG>, computer <NUM> is shown with user interface display screen <NUM>. Screen <NUM> can be a touch screen or a pen-enabled interface that receives inputs from a pen or stylus. Computer <NUM> can also use an on-screen virtual keyboard. Of course, computer <NUM> might 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. Computer <NUM> can also illustratively receive voice inputs as well.

<FIG> is one example of a computing environment in which elements of previous FIGS. , or parts of it, (for example) can be deployed. With reference to <FIG>, an example system for implementing some embodiments includes a general-purpose computing device in the form of a computer <NUM> programmed to operate as described above. Components of computer <NUM> may include, but are not limited to, a processing unit <NUM> (which can comprise processors or servers from previous FIGS. ), a system memory <NUM>, and a system bus <NUM> that couples various system components including the system memory to the processing unit <NUM>. The system bus <NUM> may 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 of <FIG>.

The computer <NUM> is operated in a networked environment using logical connections (such as a controller area network - CAN, local area network - LAN, or wide area network WAN) to one or more remote computers, such as a remote computer <NUM>.

It should also be noted that the different examples described herein can be combined in different ways. That is, parts of one or more examples can be combined with parts of one or more other examples. All of this is contemplated herein.

Claim 1:
An agricultural system (<NUM>), comprising:
a towing vehicle (<NUM>), wherein a vehicle speed detector is configured to detect a speed of the towing vehicle (<NUM>);
an agricultural machine (<NUM>, <NUM>), coupled to the towing vehicle (<NUM>), including a seeding tool (<NUM>) including a frame (<NUM>) supported by ground wheels (<NUM>), so that the seeding tool applies material to a field at work points (<NUM>-<NUM> to <NUM>-<NUM>) distributed along a transverse axis of the seeding tool (<NUM>);
an instantaneous yaw rate detector (<NUM>) configured to detect an instantaneous yaw rate of the towing vehicle (<NUM>);
a tool yaw rate prediction system (<NUM>) configured to predict, based on the instantaneous yaw rate detected on the towing vehicle (<NUM>), a plurality of different yaw rate values, wherein each predicted yaw rate value of the plurality of different predicted yaw rate values corresponding to each work point (<NUM>-<NUM> to <NUM>-<NUM>) of a set of the work points (<NUM>-<NUM> to <NUM>-<NUM>) distributed along the transverse axis of the seeding tool (<NUM>); and
a meter controller (<NUM>) configured to generate a control signal to control a meter (<NUM>) that controls a rate at which the material is provided to the work points (<NUM>-<NUM> to <NUM>-<NUM>) based on the plurality of different predicted yaw rate values,
wherein the agricultural machine (<NUM>, <NUM>) further comprising an air cart (<NUM>) that provides the material to the seeding tool (<NUM>) through the meter (<NUM>),
wherein the predicted yaw rate is generated by sensing the instantaneous yaw rate on the towing vehicle (<NUM>) at a look-ahead time in the future, and
wherein the instantaneous yaw rate of the towing vehicle (<NUM>) is used as the predicted yaw rate depending on the speed of the towing vehicle (<NUM>) and the distance between the yaw rate detector (<NUM>) on the towing vehicle (<NUM>) and the work point (<NUM>-<NUM> to <NUM>-<NUM>) of the seeding tool (<NUM>) being towed, for which the yaw rate is being predicted.