Machine control using real-time model
Summary by NHIP
Real-time machine control method
The method controls a machine subsystem using a qualified predictive model generated from prior geo-referenced data and real-time sensor data. The system calculates an error value to derive a model quality metric, which must meet a specific threshold to authorize operation control.
Claim Score by NHIP
Abstract
A priori geo-referenced data is obtained for a worksite, along with field data that is collected by a sensor on a work machine that is performing an operation at the worksite. A predictive model is generated, while the machine is performing the operation, based on the geo-referenced data and the field data. A model quality metric is generated for the predictive model and is used to determine whether the predictive model is a qualified predicative model. If so, a control system controls a subsystem of the work machine, using the qualified predictive model, and a position of the work machine, to perform the operation.

Term
12.5 yearsleft in the term
Expires 10 April 2039.
- Priority
- Filed
- Granted
- Today
- Expires
21 claims: 3 independent, 18 dependent
- 1Broadest claimClaim Score 58, broad(NHIP)A method of controlling a machine on a worksite to perform an operation comprising:identifying geo-referenced characteristic data for the worksite that was generated prior to the machine performing the operation at the worksite;collecting worksite data, with a sensor on the machine, as the machine is performing the operation at the worksite, the worksite data corresponding to a portion of the worksite;generating a predictive model based on the geo-referenced characteristic data and the worksite data;calculating an error value indicative of model error based on a comparison of model values from the generated predictive model to worksite values in the collected worksite data;calculating a model quality metric, for the predictive model, indicative of model accuracy, based on the error value;determining, while the machine is performing the operation at the worksite, whether the predictive model is a qualified predictive model based on the calculated model quality metric and if so, controlling a subsystem of the machine, using the qualified predictive model, to perform the operation.
- 12A computing system on a work, machine comprising:a communication system: configured to identify a priori, geo-referenced characteristic data for a worksite;an in situ data collection system that collects worksite data, with a sensor on a machine, as the work machine is performing an operation at the worksite the worksite data corresponding to a portion of the work site;a model generator system configured to receive the a priori, geo-referenced characteristic data and the worksite data and generate a predictive Model based on the a priori, geo-referenced characteristic data and the worksite data, as the work machine is performing the operation the worksite, using a model generation mechanism, the predictive model including predictive values of a characteristic f the worksite;and a control system that controls subsystem of the machine using the predictive model.
- 20A work machine comprising:a communication system configured receive geo-referenced characteristic data for a worksite;an in situ data collection system configured to collect worksite data, with a sensor on the work machine, as the work machine is performing an operation at the worksite, for a portion of the worksite, a plurality of controllable subsystems: a model generator system configured to generate a plurality of different predictive models, based on the geo-referenced characteristic data and the worksite data, each corresponding to a different controllable subsystem of the plurality of controllable subsystems of the work machine, the plurality, of different predictive models including predictive values of an at least one characteristic of the worksite to be encountered by the work machine;and a control system that generates control signals to control each of the controllable subsystems using corresponding predictive model.
Independent claims3
130 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of and claims priority of U.S. patent application Ser. No. 17/344,517, filed Jun. 10, 2021, which is a continuation of U.S. patent application Ser. No. 16/380,531, filed Apr. 10, 2019, the contents of which are hereby incorporated by reference in their entirety.
FIELD OF THE DESCRIPTION
The present description relates to work machines. More specifically, the present description relates to a control system that dynamically, during runtime, senses data and generates and qualifies a predictive model and controls the work machine using that model.
BACKGROUND
There are a wide variety of different types of work machines. Those machines can include construction machines, turf management machines, forestry machines, agricultural machines, etc.
Some current systems have attempted to use a priori data to generate a predictive model that can be used to control the work machine. For instance, agricultural harvesters can include combine harvesters, forage harvesters, cotton harvesters, among other things. Some current systems have attempted to use a priori data (such as aerial imagery of a field) in order to generate a predictive yield map. The predicative yield map predicts yields at different geographic locations in the field being harvested. The current systems have attempted to use that predictive yield map in controlling the harvester.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
SUMMARY
A priori geo-referenced vegetative index data is obtained for a worksite, along with field data that is collected by a sensor on a work machine that is performing an operation at the worksite. A predictive model is generated, while the machine is performing the operation, based on the geo-referenced vegetative index data and the field data. A model quality metric is generated for the predictive model and is used to determine whether the predictive model is a qualified predicative model. If so, a control system controls a subsystem of the work machine, using the qualified predictive model, and a position of the work machine, to perform the operation.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. <b>1</b></figref> is a partial schematic, partial pictorial illustration of a combine harvester.
<figref idref="DRAWINGS">FIG. <b>2</b></figref> is a block diagram showing one example of a computing system architecture that includes the combine harvester shown in <figref idref="DRAWINGS">FIG. <b>1</b></figref>.
<figref idref="DRAWINGS">FIGS. <b>3</b>A-<b>3</b>C</figref> (collectively referred to herein as <figref idref="DRAWINGS">FIG. <b>3</b></figref>) show a flow chart illustrating one example of the operation of the computing system architecture shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref>.
<figref idref="DRAWINGS">FIG. <b>4</b></figref> is a flow chart illustrating another example of the operation of the architecture illustrated in <figref idref="DRAWINGS">FIG. <b>2</b></figref>, dynamically generating actuator-specific or subsystem-specific control models.
<figref idref="DRAWINGS">FIG. <b>5</b></figref> shows a block diagram of the architecture illustrated in <figref idref="DRAWINGS">FIG. <b>1</b></figref>, deployed in a remote server environment.
<figref idref="DRAWINGS">FIGS. <b>6</b>-<b>8</b></figref> show examples of mobile devices that can be used in the architectures shown in the previous figures.
<figref idref="DRAWINGS">FIG. <b>9</b></figref> is a block diagram showing one example of a computing environment that can be used in the architectures shown in the previous figures.
DETAILED DESCRIPTION
As discussed above, some current systems attempt to use a priori data (such as aerial images) in order to generate a predictive map that can be used to control a work machine. By way of example, there has been a great deal of work done in attempting to generate a predictive yield map for a field, based upon vegetation index values generated from aerial imagery. Such predictive yield maps attempt to predict a yield at different locations within the field. The systems attempt to control a combine harvester (or other harvester) based upon the predicted yield.
Also, some systems attempt to use forward looking perception systems, which can involve obtaining optical images of the field, forward of a harvester in the direction of travel. A yield can be predicted for the area just forward of the harvester, based upon those images. This is another source of a priori data that can be used to generate a form of a predictive yield map.
All of these types of systems can present difficulties.
For instance, none of the models generated based on a priori data represent actual, ground truth data. For instance, they only represent predictive yield, and not actual ground truthed yield values. Therefore, some systems have attempted to generate multiple different models, and then assign them a quality score based upon historic performance. For instance, a remote server environment can obtain a priori aerial image data and generate a predictive yield map. The remote server environment can then receive actual yield data generated when that field was harvested. It can determine the quality or accuracy of the model, based upon the actual yield data. The predictive yield model, or the algorithm used to create the model, can then be modified to improve it.
However, this does not help in controlling the harvester, during the harvesting operation. Instead, the actual yield data is provided to the remote server environment, after the harvesting operation is completed, so that the model can be improved for the next harvesting season, for that field.
In contrast, the following description describes a system and method for generating a predictive model based not only on a priori data, but based upon in situ, field data that represents actual values being modeled. For instance, where the predictive map is a predictive yield map, the model used to generate that map is dynamically generated based upon a priori data (such as aerial imagery data) and in situ data, such as actual yield data sensed on the harvester during the harvesting operation. Once the predictive yield map is generated, the model (e.g., the predictive map) used to generate it is evaluated to determine its accuracy (or quality). If the quality of the model is sufficient, it is used for controlling the combine, during the harvesting operation, and it is dynamically, and iteratively, evaluated using in situ data, collected from the combine during the harvesting operation. If the model does not have a high enough quality, then the system can dynamically switch to an alternate model, or it can switch back to manual operation or preset values, or it can generate and evaluate other alternative models.
<figref idref="DRAWINGS">FIG. <b>1</b></figref> is a partial pictorial, partial schematic, illustration of an agricultural machine <b>100</b>, in an example where machine <b>100</b> is a combine harvester (or combine). It can be seen in <figref idref="DRAWINGS">FIG. <b>1</b></figref> that combine <b>100</b> illustratively includes an operator compartment <b>101</b>, which can have a variety of different operator interface mechanisms, for controlling combine <b>100</b>, as will be discussed in more detail below. Combine <b>100</b> can include a set of front end equipment that can include header <b>102</b>, and a cutter generally indicated at <b>104</b>. It can also include a feeder house <b>106</b>, a feed accelerator <b>108</b>, and a thresher generally indicated at <b>110</b>. Thresher <b>110</b> illustratively includes a threshing rotor <b>112</b> and a set of concaves <b>114</b>. Further, combine <b>100</b> can include a separator <b>116</b> that includes a separator rotor. Combine <b>100</b> can include a cleaning subsystem (or cleaning shoe) <b>118</b> that, itself, can include a cleaning fan <b>120</b>, chaffer <b>122</b> and sieve <b>124</b>. The material handling subsystem in combine <b>100</b> can include (in addition to a feeder house <b>106</b> and feed accelerator <b>108</b>) discharge beater <b>126</b>, tailings elevator <b>128</b>, clean grain elevator <b>130</b> (that moves clean grain into clean grain tank <b>132</b>) as well as unloading auger <b>134</b> and spout <b>136</b>. Combine <b>100</b> can further include a residue subsystem <b>138</b> that can include chopper <b>140</b> and spreader <b>142</b>. Combine <b>100</b> can also have a propulsion subsystem that includes an engine (or other power source) that drives ground engaging wheels <b>144</b> or tracks, etc. It will be noted that combine <b>100</b> may also have more than one of any of the subsystems mentioned above (such as left and right cleaning shoes, separators, etc.).
In operation, and by way of overview, combine <b>100</b> illustratively moves through a field in the direction indicated by arrow <b>146</b>. As it moves, header <b>102</b> engages the crop to be harvested and gathers it toward cutter <b>104</b>. After it is cut, it is moved through a conveyor in feeder house <b>106</b> toward feed accelerator <b>108</b>, which accelerates the crop into thresher <b>110</b>. The crop is threshed by rotor <b>112</b> rotating the crop against concave <b>114</b>. The threshed crop is moved by a separator rotor in separator <b>116</b> where some of the residue is moved by discharge beater <b>126</b> toward the residue subsystem <b>138</b>. It can be chopped by residue chopper <b>140</b> and spread on the field by spreader <b>142</b>. In other implementations, the residue is simply dropped in a windrow, instead of being chopped and spread.
Grain falls to cleaning shoe (or cleaning subsystem) <b>118</b>. Chaffer <b>122</b> separates some of the larger material from the grain, and sieve <b>124</b> separates some of the finer material from the clean grain. Clean grain falls to an auger in clean grain elevator <b>130</b>, which moves the clean grain upward and deposits it in clean grain tank <b>132</b>. Residue can be removed from the cleaning shoe <b>118</b> by airflow generated by cleaning fan <b>120</b>. That residue can also be moved rearwardly in combine <b>100</b> toward the residue handling subsystem <b>138</b>.
Tailings can be moved by tailings elevator <b>128</b> back to thresher <b>110</b> where they can be re-threshed. Alternatively, the tailings can also be passed to a separate re-threshing mechanism (also using a tailings elevator or another transport mechanism) where they can be re-threshed as well.
<figref idref="DRAWINGS">FIG. <b>1</b></figref> also shows that, in one example, combine <b>100</b> can include ground speed sensor <b>147</b>, one or more separator loss sensors <b>148</b>, a clean grain camera <b>150</b>, and one or more cleaning shoe loss sensors <b>152</b>. Ground speed sensor <b>147</b> illustratively senses the travel speed of combine <b>100</b> over the ground. This can be done by sensing the speed of rotation of the wheels, the drive shaft, the axel, or other components. The travel speed and position of combine <b>100</b> can also be sensed by a positioning system <b>157</b>, such as a global positioning system (GPS), a dead reckoning system, a LORAN system, or a wide variety of other systems or sensors that provide an indication of travel speed.
Cleaning shoe loss sensors <b>152</b> illustratively provide an output signal indicative of the quantity of grain loss by both the right and left sides of the cleaning shoe <b>118</b>. In one example, sensors <b>152</b> are strike sensors (or impact sensors) which count grain strikes per unit of time (or per unit of distance traveled) to provide an indication of the cleaning shoe grain loss. The strike sensors for the right and left sides of the cleaning shoe can provide individual signals, or a combined or aggregated signal. It will be noted that sensors <b>152</b> can comprise only a single sensor as well, instead of separate sensors for each shoe.
Separator loss sensor <b>148</b> provides a signal indicative of grain loss in the left and right separators. The sensors associated with the left and right separators can provide separate grain loss signals or a combined or aggregate signal. This can be done using a wide variety of different types of sensors as well. It will be noted that separator loss sensors <b>148</b> may also comprise only a single sensor, instead of separate left and right sensors.
It will also be appreciated that sensor and measurement mechanisms (in addition to the sensors already described) can include other sensors on combine <b>100</b> as well. For instance, they can include a residue setting sensor that is configured to sense whether machine <b>100</b> is configured to chop the residue, drop a windrow, etc. They can include cleaning shoe fan speed sensors that can be configured proximate fan <b>120</b> to sense the speed of the fan. They can include a threshing clearance sensor that senses clearance between the rotor <b>112</b> and concaves <b>114</b>. They include a threshing rotor speed sensor that senses a rotor speed of rotor <b>112</b>. They can include a chaffer clearance sensor that senses the size of openings in chaffer <b>122</b>. They can include a sieve clearance sensor that senses the size of openings in sieve <b>124</b>. They can include a material other than grain (MOG) moisture sensor that can be configured to sense the moisture level of the material other than grain that is passing through combine <b>100</b>. They can include machine setting sensors that are configured to sense the various configurable settings on combine <b>100</b>. They can also include a machine orientation sensor that can be any of a wide variety of different types of sensors that sense the orientation or pose of combine <b>100</b>. Crop property sensors can sense a variety of different types of crop properties, such as crop type, crop moisture, and other crop properties. They can also be configured to sense characteristics of the crop as they are being processed by combine <b>100</b>. For instance, they can sense grain feed rate, as it travels through clean grain elevator <b>130</b>. They can sense yield as mass flow rate of grain through elevator <b>130</b>, correlated to a position from which it was harvested, as indicated by position sensor <b>157</b>, or provide other output signals indicative of other sensed variables. Some additional examples of the types of sensors that can be used are described below.
<figref idref="DRAWINGS">FIG. <b>2</b></figref> is a block diagram showing one example of a computing system architecture <b>180</b> that includes work machine <b>100</b>, a priori data collection systems <b>182</b>, alternate data collection systems <b>184</b>, and a priori data store <b>186</b> which is connected to work machine <b>100</b> by network <b>188</b>. Some items shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref> are similar to those shown in <figref idref="DRAWINGS">FIG. <b>1</b></figref>, and they are similarly numbered.
Network <b>188</b> can be any of a wide variety of different types of networks. For instance, it can 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.
A priori data collection systems <b>182</b> illustratively collect a priori data that can be used by work machine <b>100</b> to generate a model (such as a predictive map) that can be used to control work machine <b>100</b>. Thus, in one example, systems <b>182</b> can include normalized difference vegetation index imager <b>190</b>, thermal imager <b>192</b>, radar/microwave imager <b>194</b>, crop model data <b>196</b>, soil model data <b>198</b>, and it can include a wide variety of other items <b>200</b>. NDVI imager <b>190</b> can include such things as aerial imaging systems (e.g., satellite systems, manned or unmanned aerial vehicle imaging systems, etc.) that can be used to take images from which NDVI values can be generated. Thermal imager <b>192</b> illustratively includes one or more thermal imaging sensors that generate thermal data. Radar/microwave imager <b>194</b> illustratively generates radar or microwave images. A crop model <b>196</b> can be used to generate data which is predictive of certain characteristics of the crop, such as yield, moisture, etc. Soil model <b>198</b> is illustratively a predictive model that generates characteristics of soil at different locations in a field. Such characteristics can include soil moisture, soil compaction, soil quality or content, etc.
All of these systems <b>182</b> can be used to generate data directly indicative of metric values, or from which metric values can be derived, and used in controlling work machine <b>100</b>. They can be deployed on remote sensing systems, such as unmanned aerial vehicles, manned aircraft, satellites, etc. The data generated by systems <b>182</b> can include a wide variety of other things as well, such as weather data, soil type data, topographic data, human-generated maps based on historical information, and a wide variety of other systems for generating data corresponding to the worksite on which work machine <b>100</b> is currently deployed.
Alternate data collection systems <b>184</b> may be similar to systems <b>182</b>, or different. Where they are the same or similar, they may collect the same types of data, but at different times during the growing season. For instance, some aerial imagery generated during a first time in the growing season may be more helpful that other aerial imagery that was captured later in the growing season. This is just one example.
Alternate data collection systems <b>184</b> can include different collection systems as well, that generate different types of data about the field where work machine <b>100</b> is deployed. In addition, alternate data collection systems <b>184</b> can be similar to systems <b>182</b>, but they can be configured to collect data at a different resolution (such as at a higher resolution, a lower resolution, etc.). They can also be configured to capture the same type of data using a different collection mechanism or data capturing mechanism which may be more or less accurate under different criteria.
A priori data store <b>186</b> thus includes geo-referenced a priori data <b>202</b> as well as alternate geo-referenced a priori data <b>204</b>. It can include other items <b>206</b> as well. Data <b>202</b> may be, for example, vegetation index data which includes vegetation index values that are geo-referenced to the field being harvested. The vegetation index data may include such things as NDVI data, leaf area index data, soil adjusted vegetation index (SAVI) data, modified or optimized SAVI data, simple ratio or modified simple ratio data, renormalized difference vegetation index data, chlorophyll/pigment related indices (CARI), modified or transformed CARI, triangular vegetation index data, structural insensitive pigment index data, normalized pigment chlorophyll index data, photochemical reflectance index data, red edge indices, derivative analysis indices, among a wide variety of others.
<figref idref="DRAWINGS">FIG. <b>2</b></figref> also shows that work machine <b>100</b> can include one or more different processors <b>208</b>, communication system <b>210</b>, sensors <b>212</b> (which can include yield sensors <b>211</b>, position/route sensors <b>157</b>, speed sensors <b>147</b>, and a wide variety of other sensors <b>214</b> (which can be those described above with respect to <figref idref="DRAWINGS">FIG. <b>1</b></figref> or different ones)), in situ data collection system <b>216</b>, model generator system <b>218</b>, model evaluation system <b>220</b>, data store <b>222</b>, control system <b>224</b>, controllable subsystems <b>226</b>, operator interface mechanisms <b>228</b>, and it can include a wide variety of other items <b>230</b>.
<figref idref="DRAWINGS">FIG. <b>2</b></figref> shows that operator <b>232</b> can interact with operator interface mechanisms <b>228</b> in order to control and manipulate machine <b>100</b>. Thus, operator interface mechanisms <b>228</b> can include such things as a steering wheel, pedals, levers, joysticks, buttons, dials, linkages, etc. In addition, they can include a display device that displays user actuatable elements, such as icons, links, buttons, etc. Where the display is a touch sensitive display, those user actuatable items can be actuated by touch gestures. Similarly, where mechanisms <b>228</b> include speech processing mechanisms, then operator <b>232</b> can provide inputs and receive outputs through a microphone and speaker, respectively. Operator interface mechanisms <b>228</b> can include any of a wide variety of other audio, visual or haptic mechanisms.
In situ data collection system <b>216</b> illustratively includes data aggregation logic <b>234</b>, data measure logic <b>236</b>, and it can include other items <b>238</b>. Model generator system <b>218</b> illustratively includes a set of different model generation mechanisms <b>240</b>-<b>242</b> that may use different schemes to generate predictive models that can be used in controlling machine <b>100</b>. For example, they may generate predictive models using a linear function, different functions, such as a curve, or they may be used to generate different types of predictive models, such as a neural network, a Bayesian model, etc. System <b>218</b> can include other items <b>244</b> as well.
Model evaluation system <b>220</b> illustratively receives one or more predictive models generated by model generator system <b>218</b> and evaluates the accuracy of that model. Thus, it includes model evaluation trigger <b>246</b>, model quality metric generator <b>248</b>, model evaluator logic <b>250</b> (which, itself, includes threshold logic <b>252</b>, sorting logic <b>254</b>, and other items <b>256</b>), model selection logic <b>258</b>, and it can include other items <b>260</b>.
Evaluation trigger logic <b>246</b> detects an evaluation trigger which indicates that model evaluation system <b>220</b> is to evaluate the accuracy of one or more predictive models. Those models may be currently in use in controlling work machine <b>100</b>, or they may be different models that are generated, as alternative models which may be used to replace the current model, if the alternate model is more accurate. Once triggered, model quality metric generator <b>248</b> illustratively generates a model quality metric for a model under analysis. An example may be helpful.
Assume that the predictive model generated by system <b>218</b> is a predictive yield model that predicts a yield at different locations in the field being harvested. Evaluation trigger logic <b>246</b> will be triggered based on any of a variety of different types of criteria (some of which are described below) so that model evaluation system <b>220</b> iteratively, and dynamically evaluates the accuracy of the predictive yield model, during the harvesting operation. In that case, model quality metric generator <b>248</b> will obtain actual yield data from yield sensors <b>211</b> and determine the accuracy of the predictive yield model that it is evaluating. Based on that accuracy, it generates an accuracy score or quality score. It can do this for one or more different models.
Model evaluator logic <b>250</b> then determines whether the model is qualified to be used in order to control machine <b>100</b>. It can do this in a number of different ways. Threshold logic <b>252</b> can compare the model quality metric generated by generator <b>248</b> to a threshold to determine whether the model is performing (or will perform) adequately. Where multiple models are being evaluated simultaneously, sorting logic <b>254</b> can sort those models based upon the model quality metric generated for each of them. It can find the best performing model (for which the model quality metric is highest) and threshold logic <b>252</b> can then determine whether the model quality metric for that model meets the threshold value.
Model selection logic <b>258</b> then selects a model, where one is performing (or will perform) adequately based on the model quality metric and its evaluation. It provides the selected predictive model to control system <b>224</b> which uses that model to control one or more of the different controllable subsystems <b>226</b>.
Thus, control system <b>224</b> can include feed rate control logic <b>262</b>, settings control logic <b>264</b>, route control logic <b>266</b>, power control logic <b>268</b>, and it can include other items <b>270</b>. Controllable subsystems <b>226</b> can include sensors <b>212</b>, propulsion subsystem <b>272</b>, steering subsystem <b>274</b>, one or more different actuators <b>276</b> that may be used to change machine settings, machine configuration, etc., power utilization subsystem <b>278</b>, and it can include a wide variety of other systems <b>280</b>, some of which were described above with respect to <figref idref="DRAWINGS">FIG. <b>1</b></figref>.
Feed rate control logic <b>262</b> illustratively controls propulsion system <b>272</b> and/or any other controllable subsystems <b>226</b> to maintain a relatively constant feed rate, based upon the yield for the geographic location that harvester <b>100</b> is about to encounter, or other characteristic predicted by the predictive model. By way of example, if the predictive model indicates that the predicted yield in front of the combine (in the direction of travel) is going to be reduced, then feed rate control logic <b>262</b> can control propulsion system <b>272</b> to increase the forward speed of work machine <b>100</b> in order to maintain the feed rate relatively constant. On the other hand, if the predictive model indicates that the yield ahead of work machine <b>100</b> is going to be relatively high, then feed rate control logic <b>262</b> can control propulsion system <b>272</b> to slow down in order to, again, maintain the feed rate at a relatively constant level.
Similarly, settings control logic <b>264</b> can control actuators <b>276</b> in order to change machine settings based upon the predicted characteristic of the field being harvested (e.g., based upon the predicted yield, or other predicted characteristic). By way of example, settings control logic <b>264</b> may actuate actuators <b>276</b> that change the concave clearance on a combine, based upon the predicted yield or biomass to be encountered by the harvester.
Route control logic <b>266</b> can control steering subsystem <b>274</b>, also based upon the predictive model. By way of example, operator <b>232</b> may have perceived that a thunderstorm is approaching, and provided an input through operator interface mechanisms <b>228</b> indicating that operator <b>232</b> wishes the field to be harvested in a minimum amount of time. In that case, the predictive yield model may identify areas of relatively high yield and route control logic <b>266</b> can control steering subsystem <b>274</b> to preferentially harvest those areas first so that a majority of the yield can be obtained from the field prior to the arrival of the thunderstorm. This is just one example. In another example, it may be that the predictive model is predicting a soil characteristic (such as soil moisture, the presence of mud, etc.) that may affect traction. Route control logic <b>266</b> can control steering subsystems <b>274</b> to change the route or direction of work machine <b>100</b> based upon the predicted traction at different routes through the field.
Power control logic <b>268</b> can generate control signals to control power utilization subsystem <b>278</b> based upon the predicted value as well. For instance, it can allocate power to different subsystems, generally increase power utilization or decrease power utilization, etc., based upon the predictive model. These are just examples and a wide variety of other control signals can be used to control other controllable subsystems in different ways as well.
<figref idref="DRAWINGS">FIGS. <b>3</b>A-<b>3</b>C</figref> (collectively referred to herein as <figref idref="DRAWINGS">FIG. <b>3</b></figref>) illustrate a flow diagram showing one example of the operation of architecture <b>180</b>, shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref>. It is first assumed that work machine <b>100</b> is ready to perform an operation at a worksite. This is indicated by block <b>290</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. The machine can be configured with initial machine settings that can be provided by the operator or that can be default settings, for machine operation. This is indicated by block <b>292</b>. A predictive model, that may be used for controlling work machine <b>100</b>, may be initialized as well. In that case, the model parameters can be set to initial values or default values that are empirically determined or determined in other ways. Initializing the predictive model is indicated by block <b>294</b>.
In another example, a predictive model can be used, during the initial operation of work machine <b>100</b> in the field, based upon historical use. By way of example, it may be that the last time this current field was harvested, with this crop type, a predictive model was used and stored. That model may be retrieved and used as the initial predictive model in controlling work machine <b>100</b>. This is indicated by block <b>296</b>. The work machine can be configured and initialized in a wide variety of other ways as well, and this is indicated by block <b>298</b>.
Communication system <b>210</b> is illustratively a type of system that can be used to obtain a priori data over network <b>188</b> from a priori data store <b>186</b>. It thus obtains a priori data which is illustratively geo-referenced vegetation index data for the field that is being harvested (or that is about to be harvested). Obtaining the a priori data is indicated by block <b>300</b>. The a priori data, as discussed above with respect to <figref idref="DRAWINGS">FIG. <b>2</b></figref>, can be generated from a wide variety of different types of data sources, such as from aerial images <b>302</b>, thermal images <b>304</b>, temperature from a sensor on a seed firmer that was used to plant the field, as indicated by block <b>306</b>, or a wide variety of other data sources <b>308</b>.
Once the a priori data is obtained, it is provided to model generator system <b>218</b>, and work machine <b>100</b> begins (or continues) to perform the operation (e.g., the harvesting operation). This is indicated by block <b>310</b>. Again, control system <b>224</b> can begin to control controllable subsystems <b>226</b> with a default set of control parameters <b>312</b>, under manual operation <b>314</b>, using an initial predictive model (as discussed above) <b>316</b>, or in other ways, as indicated by block <b>318</b>.
As machine <b>100</b> is performing the operation (e.g., the harvesting operation) sensors <b>212</b> are illustratively generating in situ data (or field data) indicative of the various sensed variables, during the operation. Obtaining in situ (or field) data from sensors on work machine <b>100</b> during the operation is indicated by block <b>320</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. In the example discussed herein, the in situ data can be actual yield data <b>322</b> generated from yield sensors <b>211</b>. The yield sensors <b>211</b>, as discussed above, may be mass flow sensors that sense the mass flow of grain entering the clean grain tank on machine <b>100</b>. That mass flow can then be correlated to a geographic position in the field from which it was harvested, to obtain an actual yield value for that geographic position. Of course, depending upon the type of predictive model being generated, the in situ (or field) data can be any of a wide variety of other types of data <b>324</b> as well.
Before model generation system <b>218</b> can dynamically generate a predictive model (e.g., map) or before model evaluation system <b>220</b> can adequately evaluate the accuracy of a predictive model, sensors <b>212</b> must generate sufficient in situ field data to make the model generation and/or evaluation meaningful. Therefore, in one example, in situ data collection system <b>216</b> includes data aggregation logic <b>234</b> that aggregates the in situ data generated by, or based on, the output from sensors <b>212</b>. Data measure logic <b>236</b> can track that data along various different criteria, to determine when the amount of in situ data is sufficient. This is indicated by block <b>326</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. Until that happens, processing reverts to block <b>320</b> where machine <b>100</b> continues to perform the operation and data aggregation logic <b>234</b> continues to aggregate in situ (field) data based on the outputs from sensors <b>212</b> (and possibly other information as well). In one example, data measure logic <b>236</b> generates a data collection measure that may be indicative of an amount of in situ data that has been collected. This is indicated by block <b>328</b>. By way of example, the particular type of predictive model that is being generated or evaluated may best be generated or evaluated after a certain amount of data has been generated. This may be indicated by the data collection measure <b>328</b>.
Data measure logic <b>236</b> may measure the distance that machine <b>100</b> has traveled in the field, while performing the operation. This may be used to determine whether sufficient in situ (field) data has been aggregated, and it is indicated by block <b>330</b>.
Data measure logic <b>236</b> may measure the amount of time that machine <b>100</b> is performing the operation, and this may give an indication as to whether sufficient in situ data has been obtained. This is indicated by block <b>332</b>. Data measure logic <b>236</b> may quantify the number of data points that have been aggregated by data aggregation logic <b>234</b> to determine whether it is sufficient. This is indicated by block <b>334</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. Determining whether sufficient in situ data has been collected can be determined in a wide variety of other ways as well, and this is indicated by block <b>336</b>.
Once sufficient in situ data has been collected, it is provided to model generator system <b>218</b> (which has also received the a priori data). System <b>218</b> uses at least one of the model generation mechanisms <b>240</b>-<b>242</b> in order to generate a predictive model using the a priori data and the in situ data. This is indicated by block <b>338</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. It will also be noted that, as discussed below, even after a predictive model has been generated and is being used to control work machine <b>100</b>, it can be iteratively evaluated and updated (or refined) based upon the continued receipt of in situ data. Thus, at block <b>338</b>, where a predictive model has already been generated, it can be dynamically and iteratively updated and improved.
In one example, the predictive model is generated by splitting the in situ data into training data and validation data sets. This is indicated by block <b>340</b>. The training data, along with the a priori data can be supplied to a model generation mechanism (such as mechanism <b>240</b>) to generate the predictive model. This is indicated by block <b>342</b>. It will be noted that additional model generation mechanisms <b>242</b> can be used to generate alternate predictive models. Similarly, even the same model generation mechanism <b>240</b> that generated the predictive model under analysis can be used to generate alternate predictive models using a different set of a priori data. Using an alternate set of a priori data or an alternate model generation mechanism to generate alternate models is indicated by block <b>344</b>.
The model generation mechanisms <b>240</b>-<b>242</b> can include a wide variety of different types of mechanisms, such as a linear model, polynomial curve model, neural network, Bayesian model, or other models. This is indicated by block <b>346</b>. The predictive model can be generated and/or dynamically updated in a wide variety of other ways as well, and this is indicated by block <b>348</b>.
Once a predictive model has been generated or updated, model evaluation system <b>220</b> evaluates that model by generating a model quality metric for the predictive model. This is indicated by block <b>350</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. By way of example, evaluation trigger logic <b>246</b> can detect an evaluation trigger indicating that a model is to be evaluated. This is indicated by block <b>352</b>. For example, evaluation system <b>220</b> may be triggered simply by the fact that model generator system <b>218</b> provides a predictive model to it for evaluation. In another example, a predictive model may already be in use in controlling work machine <b>100</b>, but it is to be evaluated intermittently or periodically. In that case, if the interval for evaluation has passed, this may trigger evaluation trigger logic <b>246</b>. In yet another example, it may be that a predictive model is currently being used to control work machine <b>100</b>, but a number of different alternate models have also been generated and are now available for evaluation. In that case, the alternate models can be evaluated to determine whether they will perform better than the predictive model currently in use. This may be a trigger for evaluation trigger logic <b>246</b> as well. Model evaluation can be taking place continuously, during operation, as well.
In another example, the evaluation trigger can be detected, indicating that a predictive model is to be evaluated, based upon the presence of an aperiodic event. For instance, it may be that operator <b>232</b> provides an input indicating that the operator wishes to have an alternate model evaluated. Similarly, it may be that model generator system <b>218</b> receives new a priori data, or a new model generation mechanism. All of these or other events may trigger model evaluation system <b>220</b> to evaluate a predictive model. Similarly, even though the current predictive model may be operating sufficiently, an alternate model interval may be set at which available alternate models are evaluated to ensure that the model currently being used is the best one for controlling machine <b>100</b>. Thus, when the alternate model evaluation interval has run, this may trigger the model evaluation logic to evaluate a new model as well.
In order to calculate a model quality metric for the predictive model under analysis, model quality metric generator <b>248</b> illustratively applies the in situ validation data set to the model under analysis. This is indicated by block <b>354</b>. It then illustratively generates an error metric that measures the error of the model. This is indicated by block <b>356</b>. In one example, the error metric is the r2 error metric that measures the square of the error of the model. The model quality metric for the predictive model under analysis can be generated using a wide variety of quality metric mechanisms as well. This is indicated by block <b>358</b>.
Once the model quality metric has been generated for the predictive model under analysis, the model evaluator logic determines whether that model should be used for controlling machine <b>100</b>. This is indicated by block <b>360</b>. For example, threshold logic <b>252</b> can determine whether the model quality metric meets a threshold value. This is indicated by block <b>362</b>. The threshold value may be set based on factors such as the particular application in which machine <b>100</b> is being used, historical experience, etc. In one example where the r2 value is used as the quality metric, a threshold of 0.7 or above may be used. This is just one example, and the threshold can be less than or greater than 0.7 as well.
Where multiple different predictive models have been generated, sorting logic <b>254</b> can sort the models based upon the quality metric. A decision as to whether the model under analysis should be used can be based on its rank in the sorted list of models. This is indicated by block <b>364</b>. Model evaluator logic <b>250</b> can determine whether the model under analysis is to be used in other ways as well, and this is indicated by block <b>366</b>.
If, at block <b>360</b>, it is determined that the model under analysis is to be used, then model selection logic <b>358</b> selects that model and provides it to control system <b>224</b> for use in controlling machine <b>100</b>. Control system <b>224</b> then generates control signals to control one or more controllable subsystems <b>226</b>, using the qualified model. This is indicated by block <b>368</b> (<figref idref="DRAWINGS">FIG. <b>3</b>B</figref>) in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. By way of example, the predictive model may be used to predict yield or biomass or other characteristics to be encountered by work machine <b>100</b>. This is indicated by block <b>370</b>. The various different type of logic in control system <b>224</b> can generate control signals based upon the prediction provided by the predictive model. This is indicated by block <b>372</b>. The qualified model can be used to generate control signals in a wide variety of other ways as well, and this is indicated by block <b>374</b>.
The control signals are then applied to one or more of the controllable subsystems in order to control machine <b>100</b>. This is indicated by block <b>376</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. For example, as discussed above, feed rate control logic <b>262</b> can generate control signals and apply them to propulsion system <b>272</b> to control the speed of machine <b>100</b> to maintain a feed rate. This is indicated by block <b>378</b>. Settings control logic <b>264</b> can generate control signals to control settings actuators <b>276</b> to adjust the machine settings or configuration. This is indicated by block <b>380</b>. Route control logic <b>266</b> can generate control signals and apply them to steering subsystem <b>274</b> to control steering of machine <b>100</b>. This is indicated by block <b>382</b>. Power control logic <b>268</b> can generate control signals and apply them to power utilization subsystem <b>278</b> to control power utilization of machine <b>100</b>. This is indicated by block <b>384</b>. A wide variety of other control signals can be generated and applied to a wide variety of other controllable subsystems to control machine <b>100</b> as well. This is indicated by block <b>386</b>.
Unless the operation is complete, as is indicated by block <b>388</b>, in situ data collection system illustratively resets the in situ data collection measure generated by data measure logic <b>236</b> so that it can be determined whether a sufficient amount of in situ data has been collected in order to re-evaluate the current model (or a different model). Resetting the in situ data collection measure is indicated by block <b>390</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. As discussed above, even where a current model has been evaluated and is sufficiently accurate to control work machine <b>100</b>, that same model is iteratively evaluated and refined, as more in situ (field) data is obtained. As the field conditions change, it may be that the model is no longer as accurate as it was initially. Thus, it is iteratively and dynamically evaluated, while machine <b>100</b> is performing the operation, to ensure that it is accurate enough to be used in control of machine <b>100</b>. Thus, once the in situ data collection measure is reset at block <b>390</b>, processing reverts to block <b>320</b> where data aggregation logic <b>234</b> continues to aggregate in situ data until enough has been aggregated to perform another evaluation or model generation step.
Returning again to block <b>360</b> in <figref idref="DRAWINGS">FIG. <b>3</b></figref>, if model evaluation system <b>220</b> determines that the predictive model under analysis is not of high enough quality to be used by control system <b>224</b> in controlling machine <b>100</b>, then this triggers evaluation trigger logic <b>246</b> to determine whether there are any alternate models that may be generated, or evaluated, to determine whether they should be used, instead of the model that was just evaluated. Determining whether there are any other models is indicated by block <b>392</b> (<figref idref="DRAWINGS">FIG. <b>3</b>C</figref>) in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. Again, an alternate model may be generated or available because different a priori data (e.g., alternate a priori data <b>204</b>) has been received so that an alternate model can, or already has been, generated. This is indicated by block <b>392</b>. In addition, it may be that a different model generation mechanism <b>240</b>-<b>242</b> can be used (even on the same a priori data as was previously used) to generate an alternate model that can be evaluated. This is indicated by block <b>394</b>.
In another example, it may be that both a new model generation mechanism has been received, and new a priori data has been received, so that an alternate model can be generated (or already has been generated) using the new mechanism and new a priori data. This is indicated by block <b>396</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>. Determining whether there are any alternative models to be generated or evaluated can be done in a wide variety of other ways as well, and this is indicated by block <b>398</b>.
If, at block <b>392</b>, it is determined that there are no alternative models to generate or evaluate, then model evaluation logic <b>220</b> indicates this to operator interface mechanisms <b>228</b> and a message is displayed to operator <b>232</b> indicating that control of machine <b>100</b> is reverting to manual or preset control. In that case, control system <b>224</b> receives control inputs from operator <b>232</b> through operator interface mechanisms <b>228</b>, or it can receive preset inputs or it can revert to control using a default model. This is all indicated by block <b>400</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>.
However, if, at block <b>392</b>, it is determined that there are alternate models that can be generated or that have been generated and are ready for evaluation, then processing proceeds at block <b>402</b> where one or more of the alternate models are generated and/or evaluated to determine whether they are of sufficient quality to be used in work machine <b>100</b>. The evaluation can be done as described above with respect to <figref idref="DRAWINGS">FIGS. <b>338</b>-<b>360</b></figref> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>3</b></figref>.
Model selection logic <b>258</b> then determines whether any of the models being evaluated have a high enough quality metric to be used for controlling machine <b>100</b>. This is indicated by block <b>404</b>. If not, processing reverts to block <b>400</b>. It should also be noted that, in one example, multiple alternate models are all evaluated substantially simultaneously. In that case, model selection logic <b>258</b> can choose the best alternate model (assuming that its quality is good enough) for controlling machine <b>100</b>. In another example, only one alternate model is evaluated at a given time.
In either example, if, at block <b>404</b>, model evaluator logic <b>250</b> identifies a model that has a high enough quality metric for controlling machine <b>100</b>, then model selection logic <b>258</b> selects that model for control based upon the selection criteria. This is indicated by block <b>406</b>. Again, where multiple models are being evaluated, model selection logic <b>258</b> may simply select the first model that has a quality metric above a threshold value. This is indicated by block <b>408</b>. In another example, sorting logic <b>254</b> can sort all of the models being evaluated based upon their quality metric, and model selection logic <b>258</b> can select the model with the best quality metric value. This is indicated by block <b>410</b>. The model can be selected in other ways as well, and this is indicated by block <b>412</b>. Once the model is selected, processing proceeds at block <b>368</b> where that model is used to generate control signals for controlling machine <b>100</b>.
Thus far in the description, it has been assumed that one predictive model is used by control system <b>224</b> to control the controllable subsystems <b>226</b>. However, it may be that different predictive models are used by control system <b>224</b> to control different controllable subsystems. In addition, it may be that the outputs of a plurality of different predictive models are used to control a plurality of different controllable subsystems. Similarly, it may be that the models are specific to a given actuator or set of actuators. In that example, a predictive model may be used to generate control signals to control a single actuator or a set of actuators.
<figref idref="DRAWINGS">FIG. <b>4</b></figref> is a flow diagram illustrating one example of the operation of architecture <b>180</b> in an example where multiple different predictive models are used to control different controllable subsystems. It is thus first assumed that model generator system <b>218</b> identifies that a set of specific predictive models is to be used for controlling machine <b>100</b>, instead of a single predictive model. This is indicated by block <b>420</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>. The predictive models may be subsystem-specific models so that a different predictive model is used to control each of the different controllable subsystems <b>226</b>. This is indicated by block <b>422</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>. They may be actuator-specific models so that a different predictive model is used by control system <b>224</b> to control a different actuator or set of actuators. This is indicated by block <b>424</b>. The models may be configured in other ways, so that, for instance, the output of a plurality of a different models is used to control a single subsystem, or so that a single model is used to control a subset of the controllable subsystems while another model is used to control the remaining controllable subsystems, or a different subset of those subsystems. Identifying the set of specific predictive models in other ways is indicated by block <b>426</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>.
In that example, model generator system <b>218</b> then generates a set of specific predictive models to be evaluated, and model evaluation system <b>220</b> evaluates those specific predictive models. Model evaluation system <b>220</b> illustratively identifies a qualified model corresponding to each subsystem/actuator (or subset of the subsystems/actuators) on work machine <b>100</b>. This is indicated by block <b>428</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>.
Model selection logic <b>258</b> selects a model for each of the systems/actuators and provides it to control system <b>224</b>. Control system <b>224</b> uses the qualified models to generate signals for the corresponding subsystems/actuator (or subset of subsystems/actuators). This is indicated by block <b>430</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>.
By way of example, it may be that the traction in the field is modeled by a predictive model. The output of that model may be used by control system <b>224</b> to control the steering subsystem <b>274</b> to steer around muddy or wet areas where traction is predicted to be insufficient. The in situ data, in that case, may be soil moisture data which is sensed by a soil moisture sensor on machine <b>100</b> and provided as the actual, in situ, field data for the predictive traction model. In another example, the header lift actuator may be controlled by a separate predictive model that predicts topography. The in situ data may indicate the actual topography over which machine <b>100</b> is traveling. Of course, there are a wide variety of other types of predictive models that can be used by control system <b>224</b> to control individual actuators, sets of actuators, individual subsystems, sets of subsystems, etc.
As with the single model example discussed above with respect to <figref idref="DRAWINGS">FIG. <b>3</b></figref>, each of the plurality of different predictive models will illustratively be dynamically and iteratively evaluated. Similarly, they can each be replaced by an alternate model, if, during the evaluation process, it is found that an alternate model performs better. Thus, in such an example, multiple predictive models are continuously, dynamically, and iteratively updated, improved, and evaluated against alternate models. The models used for control can be swapped out with alternate models, based upon the evaluation results, in near real time, during operation of the work machine in the field. Continuing the runtime evaluation, in this way, is indicated by block <b>432</b> in the flow diagram of <figref idref="DRAWINGS">FIG. <b>4</b></figref>.
The present discussion has mentioned processors and servers. In one embodiment, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
It will be noted that the above discussion has described a variety of different systems, components and/or logic. It will be appreciated that such systems, components and/or logic can be comprised of hardware items (such as processors and associated memory, or other processing components, some of which are described below) that perform the functions associated with those systems, components and/or logic. In addition, the systems, components and/or logic can be comprised of software that is loaded into a memory and is subsequently executed by a processor or server, or other computing component, as described below. The systems, components and/or logic can also be comprised of different combinations of hardware, software, firmware, etc., some examples of which are described below. These are only some examples of different structures that can be used to form the systems, components and/or logic described above. Other structures can be used as well.
Also, a number of user interface displays have been discussed. They can take a wide variety of different forms and can have a wide variety of different user actuatable input mechanisms disposed thereon. For instance, the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. They can also be actuated in a wide variety of different ways. For instance, they can be actuated using a point and click device (such as a track ball or mouse). They can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. They can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which they are displayed is a touch sensitive screen, they can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, they can be actuated using speech commands.
A number of data stores have also been discussed. It will be noted they can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
Also, the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
<figref idref="DRAWINGS">FIG. <b>5</b></figref> is a block diagram of harvester <b>100</b>, shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref>, except that it communicates with elements in a remote server architecture <b>500</b>. In an example, remote server architecture <b>500</b> 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 <figref idref="DRAWINGS">FIG. <b>2</b></figref> 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 <figref idref="DRAWINGS">FIG. <b>5</b></figref>, some items are similar to those shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref> and they are similarly numbered. <figref idref="DRAWINGS">FIG. <b>5</b></figref> specifically shows that model generation system <b>218</b>, model evaluation system <b>220</b> and a priori data store <b>186</b> can be located at a remote server location <b>502</b>. Therefore, harvester <b>100</b> accesses those systems through remote server location <b>502</b>.
<figref idref="DRAWINGS">FIG. <b>5</b></figref> also depicts another example of a remote server architecture. <figref idref="DRAWINGS">FIG. <b>4</b></figref> shows that it is also contemplated that some elements of <figref idref="DRAWINGS">FIG. <b>2</b></figref> are disposed at remote server location <b>502</b> while others are not. By way of example, data store <b>186</b> can be disposed at a location separate from location <b>502</b>, and accessed through the remote server at location <b>502</b>. Regardless of where they are located, they can be accessed directly by harvester <b>100</b>, 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 harvester comes close to the fuel truck for fueling, the system automatically collects the information from the harvester or transfers information to the harvester 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 harvester until the harvester enters a covered location. The harvester, itself, can then send and receive the information to/from the main network.
It will also be noted that the elements of <figref idref="DRAWINGS">FIG. <b>2</b></figref>, 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.
<figref idref="DRAWINGS">FIG. <b>6</b></figref> 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 <b>16</b>, 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 harvester <b>100</b> for use in generating, processing, or displaying the stool width and position data. <figref idref="DRAWINGS">FIGS. <b>7</b>-<b>8</b></figref> are examples of handheld or mobile devices.
<figref idref="DRAWINGS">FIG. <b>6</b></figref> provides a general block diagram of the components of a client device <b>16</b> that can run some components shown in <figref idref="DRAWINGS">FIG. <b>2</b></figref>, that interacts with them, or both. In the device <b>16</b>, a communications link <b>13</b> is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning. Examples of communications link <b>13</b> 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 <b>15</b>. Interface <b>15</b> and communication links <b>13</b> communicate with a processor <b>17</b> (which can also embody processors or servers from previous FIGS.) along a bus <b>19</b> that is also connected to memory <b>21</b> and input/output (I/O) components <b>23</b>, as well as clock and location system <b>27</b>.
I/O components <b>23</b>, in one example, are provided to facilitate input and output operations. I/O components <b>23</b> for various embodiments of the device <b>16</b> 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 <b>23</b> can be used as well.
Clock <b>25</b> illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor <b>17</b>.
Location system <b>27</b> illustratively includes a component that outputs a current geographical location of device <b>16</b>. This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
Memory <b>21</b> stores operating system <b>29</b>, network settings <b>31</b>, applications <b>33</b>, application configuration settings <b>35</b>, data store <b>37</b>, communication drivers <b>39</b>, and communication configuration settings <b>41</b>. Memory <b>21</b> can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below). Memory <b>21</b> stores computer readable instructions that, when executed by processor <b>17</b>, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor <b>17</b> can be activated by other components to facilitate their functionality as well.
<figref idref="DRAWINGS">FIG. <b>7</b></figref> shows one example in which device <b>16</b> is a tablet computer <b>600</b>. In <figref idref="DRAWINGS">FIG. <b>7</b></figref>, computer <b>600</b> is shown with user interface display screen <b>602</b>. Screen <b>602</b> can be a touch screen or a pen-enabled interface that receives inputs from a pen or stylus. It can also use an on-screen virtual keyboard. Of course, it 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 <b>600</b> can also illustratively receive voice inputs as well.
<figref idref="DRAWINGS">FIG. <b>8</b></figref> shows that the device can be a smart phone <b>71</b>. Smart phone <b>71</b> has a touch sensitive display <b>73</b> that displays icons or tiles or other user input mechanisms <b>75</b>. Mechanisms <b>75</b> can be used by a user to run applications, make calls, perform data transfer operations, etc. In general, smart phone <b>71</b> is built on a mobile operating system and offers more advanced computing capability and connectivity than a feature phone.
Note that other forms of the devices <b>16</b> are possible.
<figref idref="DRAWINGS">FIG. <b>9</b></figref> is one example of a computing environment in which elements of <figref idref="DRAWINGS">FIG. <b>2</b></figref>, or parts of it, (for example) can be deployed. With reference to <figref idref="DRAWINGS">FIG. <b>9</b></figref>, an example system for implementing some embodiments includes a computing device in the form of a computer <b>810</b>. Components of computer <b>810</b> may include, but are not limited to, a processing unit <b>820</b> (which can comprise processors or servers from previous FIGS.), a system memory <b>830</b>, and a system bus <b>821</b> that couples various system components including the system memory to the processing unit <b>820</b>. The system bus <b>821</b> 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 <figref idref="DRAWINGS">FIG. <b>2</b></figref> can be deployed in corresponding portions of <figref idref="DRAWINGS">FIG. <b>9</b></figref>.
Computer <b>810</b> typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer <b>810</b> and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer <b>810</b>. Communication media may embody computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
The system memory <b>830</b> includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) <b>831</b> and random access memory (RAM) <b>832</b>. A basic input/output system <b>833</b> (BIOS), containing the basic routines that help to transfer information between elements within computer <b>810</b>, such as during start-up, is typically stored in ROM <b>831</b>. RAM <b>832</b> typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit <b>820</b>. By way of example, and not limitation, <figref idref="DRAWINGS">FIG. <b>9</b></figref> illustrates operating system <b>834</b>, application programs <b>835</b>, other program modules <b>836</b>, and program data <b>837</b>.
The computer <b>810</b> may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only, <figref idref="DRAWINGS">FIG. <b>9</b></figref> illustrates a hard disk drive <b>841</b> that reads from or writes to non-removable, nonvolatile magnetic media, an optical disk drive <b>855</b>, and nonvolatile optical disk <b>856</b>. The hard disk drive <b>841</b> is typically connected to the system bus <b>821</b> through a non-removable memory interface such as interface <b>840</b>, and optical disk drive <b>855</b> is typically connected to the system bus <b>821</b> by a removable memory interface, such as interface <b>850</b>.
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), 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 in <figref idref="DRAWINGS">FIG. <b>9</b></figref>, provide storage of computer readable instructions, data structures, program modules and other data for the computer <b>810</b>. In <figref idref="DRAWINGS">FIG. <b>9</b></figref>, for example, hard disk drive <b>841</b> is illustrated as storing operating system <b>844</b>, application programs <b>845</b>, other program modules <b>846</b>, and program data <b>847</b>. Note that these components can either be the same as or different from operating system <b>834</b>, application programs <b>835</b>, other program modules <b>836</b>, and program data <b>837</b>.
A user may enter commands and information into the computer <b>810</b> through input devices such as a keyboard <b>862</b>, a microphone <b>863</b>, and a pointing device <b>861</b>, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit <b>820</b> through a user input interface <b>860</b> that is coupled to the system bus, but may be connected by other interface and bus structures. A visual display <b>891</b> or other type of display device is also connected to the system bus <b>821</b> via an interface, such as a video interface <b>890</b>. In addition to the monitor, computers may also include other peripheral output devices such as speakers <b>897</b> and printer <b>896</b>, which may be connected through an output peripheral interface <b>895</b>.
The computer <b>810</b> is operated in a networked environment using logical connections (such as a local area network—LAN, or wide area network—WAN or a controller area network—CAN) to one or more remote computers, such as a remote computer <b>880</b>.
When used in a LAN networking environment, the computer <b>810</b> is connected to the LAN <b>871</b> through a network interface or adapter <b>870</b>. When used in a WAN networking environment, the computer <b>810</b> typically includes a modem <b>872</b> or other means for establishing communications over the WAN <b>873</b>, such as the Internet. In a networked environment, program modules may be stored in a remote memory storage device. <figref idref="DRAWINGS">FIG. <b>9</b></figref> illustrates, for example, that remote application programs <b>885</b> can reside on remote computer <b>880</b>.
Example 1 is a method of controlling a machine on a worksite to perform an operation comprising: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0109">identifying geo-referenced characteristic data for the worksite that was generated prior to the machine performing the operation at the worksite;</li><li id="ul0002-0002" num="0110">collecting worksite data, with a sensor on the machine, as the machine is performing an operation at the worksite, the worksite data corresponding to a portion of the worksite;</li><li id="ul0002-0003" num="0111">generating a predictive model based on the geo-referenced characteristic data and the worksite data;</li><li id="ul0002-0004" num="0112">calculating an error value indicative of model error based on a comparison of model values from the generated predictive model to worksite values in the collected worksite data;</li><li id="ul0002-0005" num="0113">calculating a model quality metric, for the predictive model, indicative of model accuracy, based on the error value;</li><li id="ul0002-0006" num="0114">determining, while the machine is performing the operation at the worksite, whether the predictive model is a qualified predictive model based on the calculated model quality metric and</li><li id="ul0002-0007" num="0115">if so, controlling a subsystem of the machine, using the qualified predictive model, to perform the operation.</li></ul></li></ul>
Example 2 is the method of any or all previous examples, wherein determining whether the predictive model is a qualified predictive model comprises: <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0000"><ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0117">determining whether the model quality metric meets a model quality threshold.</li></ul></li></ul>
Example 3 is the method of any or all previous examples, and further comprising: <ul id="ul0005" list-style="none"><li id="ul0005-0001" num="0000"><ul id="ul0006" list-style="none"><li id="ul0006-0001" num="0119">if the predictive model is determined not to be a qualified predictive model, then</li><li id="ul0006-0002" num="0120">identifying different geo-referenced characteristic data for generating a different predictive model;</li><li id="ul0006-0003" num="0121">generating the different predictive model;</li><li id="ul0006-0004" num="0122">determining, while the machine is performing the operation at the worksite, whether the different predictive model is a qualified model; and</li><li id="ul0006-0005" num="0123">if so, controlling a subsystem of the machine, using the different predictive model to perform the operation.</li></ul></li></ul>
Example 4 is the method of any or all previous examples, wherein identifying geo-referenced characteristic data comprises: <ul id="ul0007" list-style="none"><li id="ul0007-0001" num="0000"><ul id="ul0008" list-style="none"><li id="ul0008-0001" num="0125">obtaining a priori georeferenced characteristic data, from a remote system, corresponding to the worksite.</li></ul></li></ul>
Example 5 is the method of any or all previous examples, wherein collecting worksite data comprises: <ul id="ul0009" list-style="none"><li id="ul0009-0001" num="0000"><ul id="ul0010" list-style="none"><li id="ul0010-0001" num="0127">aggregating worksite data corresponding to a portion of the worksite, as the machine is performing an operation at the worksite.</li></ul></li></ul>
Example 6 is the method of any or all previous examples, wherein the machine has a plurality of different subsystems and wherein controlling a subsystem comprises: <ul id="ul0011" list-style="none"><li id="ul0011-0001" num="0000"><ul id="ul0012" list-style="none"><li id="ul0012-0001" num="0129">controlling the plurality of different subsystems on the machine.</li></ul></li></ul>
Example 7 is the method of any or all previous examples, wherein generating a predictive model comprises: <ul id="ul0013" list-style="none"><li id="ul0013-0001" num="0000"><ul id="ul0014" list-style="none"><li id="ul0014-0001" num="0131">generating a plurality of different predictive models, based on a priori data and the worksite data, for the different subsystems of the work machine.</li></ul></li></ul>
Example 8 is the method of any or all previous examples, wherein calculating a model quality metric comprises: <ul id="ul0015" list-style="none"><li id="ul0015-0001" num="0000"><ul id="ul0016" list-style="none"><li id="ul0016-0001" num="0133">calculating a plurality of different model quality metrics values for the different predictive models, wherein determining whether the predictive model is a qualified predictive model comprises determining whether each of the plurality of predictive models are qualified predictive models based on the calculated model quality metrics values.</li></ul></li></ul>
Example 9 is the method of any or all previous examples and further comprising: <ul id="ul0017" list-style="none"><li id="ul0017-0001" num="0000"><ul id="ul0018" list-style="none"><li id="ul0018-0001" num="0135">if the plurality of different predictive models are qualified predictive models, then controlling each of the different subsystems of the work machine on the worksite, using a different one of the plurality of different predictive models.</li></ul></li></ul>
Example 10 is the method of any or all previous examples and further comprising: <ul id="ul0019" list-style="none"><li id="ul0019-0001" num="0000"><ul id="ul0020" list-style="none"><li id="ul0020-0001" num="0137">iteratively repeating steps of collecting worksite data, updating the predictive model based on the worksite data, calculating a model quality metric for the updated predictive model and determining whether the predictive model is a qualified predicative model, while the machine is performing the operation.</li></ul></li></ul>
Example 11 is the method of any or all previous examples, wherein geo-referenced characteristic data for the worksite comprises one of: <ul id="ul0021" list-style="none"><li id="ul0021-0001" num="0000"><ul id="ul0022" list-style="none"><li id="ul0022-0001" num="0139">geo-referenced topographic characteristic data for the worksite;</li><li id="ul0022-0002" num="0140">geo-referenced soil characteristic data for the worksite;</li><li id="ul0022-0003" num="0141">geo-referenced crop characteristic data for the worksite; or</li><li id="ul0022-0004" num="0142">geo-referenced weather characteristic data for the worksite.</li></ul></li></ul>
Example 12 is a computing system on a work machine comprising: <ul id="ul0023" list-style="none"><li id="ul0023-0001" num="0000"><ul id="ul0024" list-style="none"><li id="ul0024-0001" num="0144">a communication system configured to identify a priori, geo-referenced characteristic data for a worksite;</li><li id="ul0024-0002" num="0145">an in situ data collection system that collects worksite data, with a sensor on a machine, as the work machine is performing an operation at the worksite, the worksite data corresponding to a portion of the worksite;</li><li id="ul0024-0003" num="0146">a model generator system configured to receive the a priori, geo-referenced characteristic data and worksite data and generate a predictive model based on the a priori, geo-referenced characteristic data and the worksite data, as the work machine is performing the operation at the worksite, using a model generation mechanism, the predictive model including predictive values of a characteristic of the worksite; and</li><li id="ul0024-0004" num="0147">a control system that, controls a subsystem of the machine using the predictive model.</li></ul></li></ul>
Example 13 is the computing system of any or all previous examples and further comprising: <ul id="ul0025" list-style="none"><li id="ul0025-0001" num="0000"><ul id="ul0026" list-style="none"><li id="ul0026-0001" num="0149">a model evaluation system configured to calculate a model quality metric for the predictive model and determine whether the predictive model is a qualified predictive model; and</li><li id="ul0026-0002" num="0150">wherein the control system controls the subsystem using the predictive model if the predictive model is a qualified predictive model.</li></ul></li></ul>
Example 14 is the computing system of any or all previous examples, wherein the model evaluation system comprises: <ul id="ul0027" list-style="none"><li id="ul0027-0001" num="0000"><ul id="ul0028" list-style="none"><li id="ul0028-0001" num="0152">a model quality metric generator configured to calculate the model quality metric for the predictive model.</li></ul></li></ul>
Example 15 is the computing system of any or all previous examples, wherein the model evaluation system comprises: <ul id="ul0029" list-style="none"><li id="ul0029-0001" num="0000"><ul id="ul0030" list-style="none"><li id="ul0030-0001" num="0154">evaluation trigger logic configured to detect an evaluation trigger and, in response, generate a trigger output for the model evaluation system to evaluate an alternative predictive model.</li></ul></li></ul>
Example 16 is the computer system of any or all previous examples, wherein the model generation system is configured to, in response to the trigger output, generate the alternative predictive model using alternative a priori, geo-referenced characteristic data for the worksites.
Example 17 is the computer system of any or all previous examples, wherein the model generation system is configured to, in response to the trigger output, generate the alternative predictive model using an alternative model generation mechanism.
Example 18 is the computing system of any or all previous examples wherein the model generator system is configured to generate a plurality of predictive models each corresponding to a specific controllable subsystem, and wherein the control system uses each of the predictive models to control the corresponding specific controllable subsystem.
Example 19 is the computing system of any or all previous examples, wherein the a priori, geo-referenced characteristic data are generated prior to the work machine performing the operation at the worksite.
Example 20 is a work machine comprising: <ul id="ul0031" list-style="none"><li id="ul0031-0001" num="0000"><ul id="ul0032" list-style="none"><li id="ul0032-0001" num="0160">a communication system configured to receive geo-referenced characteristic data for a worksite;</li><li id="ul0032-0002" num="0161">an in situ data collection system configured to collect worksite data, with a sensor on the work machine, as the work machine is performing an operation at the worksite, for a portion of the worksite;</li><li id="ul0032-0003" num="0162">a plurality of controllable subsystems;</li><li id="ul0032-0004" num="0163">a model generator system configured to generate a plurality of different predictive models, based on the geo-referenced characteristic data and the worksite data, each corresponding to a different controllable subsystem of the plurality of controllable subsystems of the work machine, the plurality of different predictive models including predictive values of an at least one characteristic of the worksite to be encountered by the work machine; and</li><li id="ul0032-0005" num="0164">a control system that generates control signals to control each of the controllable subsystems using a corresponding predictive model.</li></ul></li></ul>
Example 21 is the work machine of any or all previous examples, and further comprising: <ul id="ul0033" list-style="none"><li id="ul0033-0001" num="0000"><ul id="ul0034" list-style="none"><li id="ul0034-0001" num="0166">a model evaluation system configured to calculate a model quality metric for each of the predictive models and determine whether each of the predictive models is a qualified predictive model based on the model quality metrics, wherein the control system generates the control signals to control each of the controllable subsystems using a corresponding qualified predictive model.</li></ul></li></ul>
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.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Contents6
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both waysCites: the store holds 1,000 of 1,763
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0070219B1 | Cites | European Patent Office (EPO) | Applicant |
| WO0152160A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO0152160A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO0215673A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO0215673A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO03005803A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO03005803A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| EP0355049A2 | Cites | European Patent Office (EPO) | Applicant |
| EP0532146B1 | Cites | European Patent Office (EPO) | Applicant |
| EP0845198B2 | Cites | European Patent Office (EPO) | Applicant |
| EP0845198B2 | Cites | European Patent Office (EPO) | Applicant |
| US10004176B2 | Cites | United States of America | Applicant |
| US10015928B2 | Cites | United States of America | Applicant |
| US10019018B2 | Cites | United States of America | Applicant |
| US10019790B2 | Cites | United States of America | Applicant |
| US10025983B2 | Cites | United States of America | Applicant |
| US10028435B2 | Cites | United States of America | Applicant |
| US10028451B2 | Cites | United States of America | Applicant |
| US10034427B2 | Cites | United States of America | Applicant |
| US10039231B2 | Cites | United States of America | Applicant |
| CN100416590C | Cites | China | Applicant |
| DE10050224A1 | Cites | Germany | Applicant |
| US10064331B2 | Cites | United States of America | Applicant |
| US10064335B2 | Cites | United States of America | Applicant |
| US10078890B1 | Cites | United States of America | Applicant |
| US10085372B2 | Cites | United States of America | Applicant |
| US10091925B2 | Cites | United States of America | Applicant |
| KR100974892B1 | Cites | Republic of Korea | Applicant |
| KR100974892B1 | Cites | Republic of Korea | Applicant |
| KR101067576B1 | Cites | Republic of Korea | Applicant |
| KR101067576B1 | Cites | Republic of Korea | Applicant |
| KR101134075B1 | Cites | Republic of Korea | Applicant |
| KR101134075B1 | Cites | Republic of Korea | Applicant |
| DE10120173A1 | Cites | Germany | Applicant |
| CN101236188A | Cites | China | Applicant |
| US10126153B2 | Cites | United States of America | Applicant |
| US10129528B2 | Cites | United States of America | Applicant |
| CN101303338A | Cites | China | Applicant |
| CN101363833A | Cites | China | Applicant |
| US10143132B2 | Cites | United States of America | Applicant |
| KR101447197B1 | Cites | Republic of Korea | Applicant |
| KR101447197B1 | Cites | Republic of Korea | Applicant |
| US10152035B2 | Cites | United States of America | Applicant |
| US10154624B2 | Cites | United States of America | Applicant |
| KR101653750B1 | Cites | Republic of Korea | Applicant |
| KR101653750B1 | Cites | Republic of Korea | Applicant |
| US10165725B2 | Cites | United States of America | Applicant |
| US10178823B2 | Cites | United States of America | Applicant |
| US10183667B2 | Cites | United States of America | Applicant |
| CN101839906A | Cites | China | Applicant |
| KR101873657B1 | Cites | Republic of Korea | Applicant |
| KR101873657B1 | Cites | Republic of Korea | Applicant |
| US10188037B2 | Cites | United States of America | Applicant |
| CN101929166A | Cites | China | Applicant |
| DE102005000770B3 | Cites | Germany | Applicant |
| DE102005000771A1 | Cites | Germany | Applicant |
| DE102008021785A1 | Cites | Germany | Applicant |
| DE102009041646A1 | Cites | Germany | Applicant |
| DE102010004648A1 | Cites | Germany | Applicant |
| DE102010038661A1 | Cites | Germany | Applicant |
| DE102011005400A1 | Cites | Germany | Applicant |
| DE102011052688A1 | Cites | Germany | Applicant |
| US10201121B1 | Cites | United States of America | Applicant |
| DE102012211001A1 | Cites | Germany | Applicant |
| DE102012220109A1 | Cites | Germany | Applicant |
| DE102012223768A1 | Cites | Germany | Applicant |
| DE102013019098B3 | Cites | Germany | Applicant |
| DE102013212151A1 | Cites | Germany | Applicant |
| BR102014007178A2 | Cites | Brazil | Applicant |
| DE102014108449A1 | Cites | Germany | Applicant |
| DE102014201203A1 | Cites | Germany | Applicant |
| DE102014208068A1 | Cites | Germany | Applicant |
| DE102015006398B3 | Cites | Germany | Applicant |
| DE102015109799A1 | Cites | Germany | Applicant |
| DE102017204511A1 | Cites | Germany | Applicant |
| DE102019114872A1 | Cites | Germany | Applicant |
| DE102019206734A1 | Cites | Germany | Applicant |
| CN102080373A | Cites | China | Applicant |
| US10209179B2 | Cites | United States of America | Applicant |
| CN102138383A | Cites | China | Applicant |
| CN102277867B | Cites | China | Applicant |
| US10231371B2 | Cites | United States of America | Applicant |
| US10254147B2 | Cites | United States of America | Applicant |
| US10254765B2 | Cites | United States of America | Applicant |
| US10255670B1 | Cites | United States of America | Applicant |
| US10275550B2 | Cites | United States of America | Applicant |
| US10295703B2 | Cites | United States of America | Applicant |
| CN103088807A | Cites | China | Applicant |
| US10310455B2 | Cites | United States of America | Applicant |
| US10314232B2 | Cites | United States of America | Applicant |
| US10315655B2 | Cites | United States of America | Applicant |
| US10317272B2 | Cites | United States of America | Applicant |
| CN103181263A | Cites | China | Applicant |
| US10351364B2 | Cites | United States of America | Applicant |
| US10368488B2 | Cites | United States of America | Applicant |
| CN103954738A | Cites | China | Applicant |
| US10398084B2 | Cites | United States of America | Applicant |
| US10408545B2 | Cites | United States of America | Applicant |
| US10412889B2 | Cites | United States of America | Applicant |
| US10426086B2 | Cites | United States of America | Applicant |
280 members in 7 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 201916380531 | United States of America | A | |
| 202117344517 | United States of America | A |
Members280
| Document | Office | Kind | |
|---|---|---|---|
| US2019347143A1 | United States of America | A1 | |
| US10572316B2 | United States of America | B2 | |
| EP3643159A1 | European Patent Office (EPO) | A1 | |
| EP3643160A1 | European Patent Office (EPO) | A1 | |
| US2020128734A1 | United States of America | A1 | |
| US2020128737A1 | United States of America | A1 | |
| BR102019016876A2 | Brazil | A2 | |
| BR102019021567A2 | Brazil | A2 | |
| CN111096143A | China | A | |
| US2020174853A1 | United States of America | A1 | |
| DE102020204462A1 | Germany | A1 | |
| DE102020204478A1 | Germany | A1 | |
| US2020326674A1 | United States of America | A1 | |
| US2020326727A1 | United States of America | A1 | |
| BR102020001022A2 | Brazil | A2 | |
| BR102020002789A2 | Brazil | A2 | |
| CN111802061A | China | A | |
| CN111857120A | China | A | |
| US2021022283A1 | United States of America | A1 | |
| US2021029877A1 | United States of America | A1 | |
| US2021029878A1 | United States of America | A1 | |
| US11079725B2 | United States of America | B2 | |
| CA3107877A1 | Canada | A1 | |
| CA3108290A1 | Canada | A1 | |
| CN113207410A | China | A | |
| CN113207411A | China | A | |
| US11086693B2 | United States of America | B2 | |
| EP3861842A1 | European Patent Office (EPO) | A1 | |
| EP3861842A1 | European Patent Office (EPO) | A1 | |
| EP3861843A1 | European Patent Office (EPO) | A1 | |
| DE102021200028A1 | Germany | A1 | |
| US2021243936A1 | United States of America | A1 | |
| US2021243938A1 | United States of America | A1 | |
| US2021243950A1 | United States of America | A1 | |
| US2021243951A1 | United States of America | A1 | |
| BR102020023225A2 | Brazil | A2 | |
| CN113298670A | China | A | |
| AU2021200024A1 | Australia | A1 | |
| AU2021200338A1 | Australia | A1 | |
| US2021271530A1 | United States of America | A1 | |
| US2021302925A1 | United States of America | A1 | |
| EP3643160B1 | European Patent Office (EPO) | B1 | |
| US11178818B2 | United States of America | B2 | |
| CN113748832A | China | A | |
| US11240961B2 | United States of America | B2 | |
| CA3131182A1 | Canada | A1 | |
| CN114287229A | China | A | |
| CA3128972A1 | Canada | A1 | |
| CA3130117A1 | Canada | A1 | |
| CA3130194A1 | Canada | A1 | |
| CA3130197A1 | Canada | A1 | |
| CA3130230A1 | Canada | A1 | |
| CA3130532A1 | Canada | A1 | |
| CA3131202A1 | Canada | A1 | |
| BR102021001240A2 | Brazil | A2 | |
| BR102021001462A2 | Brazil | A2 | |
| BR102021015207A2 | Brazil | A2 | |
| BR102021015555A2 | Brazil | A2 | |
| BR102021016051A2 | Brazil | A2 | |
| BR102021016067A2 | Brazil | A2 | |
| BR102021016085A2 | Brazil | A2 | |
| BR102021016228A2 | Brazil | A2 | |
| BR102021017151A2 | Brazil | A2 | |
| CN114303588A | China | A | |
| CN114303589A | China | A | |
| CN114303590A | China | A | |
| CN114303591A | China | A | |
| CN114303592A | China | A | |
| CN114303593A | China | A | |
| CN114303594A | China | A | |
| CN114303595A | China | A | |
| CN114303596A | China | A | |
| CN114303597A | China | A | |
| CN114303598A | China | A | |
| CN114303599A | China | A | |
| CN114303602A | China | A | |
| CN114303606A | China | A | |
| CN114303607A | China | A | |
| CN114303608A | China | A | |
| CN114303609A | China | A | |
| CN114303610A | China | A | |
| CN114303611A | China | A | |
| CN114303612A | China | A | |
| CN114303613A | China | A | |
| CN114303614A | China | A | |
| CN114303615A | China | A | |
| CN114303616A | China | A | |
| CN114303617A | China | A | |
| CN114303618A | China | A | |
| CN114303619A | China | A | |
| CN114330808A | China | A | |
| EP3981231A1 | European Patent Office (EPO) | A1 | |
| EP3981232A1 | European Patent Office (EPO) | A1 | |
| EP3981233A1 | European Patent Office (EPO) | A1 | |
| EP3981234A1 | European Patent Office (EPO) | A1 | |
| EP3981235A1 | European Patent Office (EPO) | A1 | |
| EP3981236A1 | European Patent Office (EPO) | A1 | |
| EP3981243A1 | European Patent Office (EPO) | A1 | |
| EP3981244A1 | European Patent Office (EPO) | A1 | |
| DE102021101230A1 | Germany | A1 |
128 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Mail Patent eGrant NotificationMEPG_NTF | MEPG_NTF | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent eGrant NotificationEPG_NTF | EPG_NTF | |
| Recordation of Patent eGrantEPG/ | EPG/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Terminal Disclaimer FiledDIST | DIST | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT VERIFIEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT RECEIVEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| AssignmentAS | AS | |
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 11829112
- Application
- 18185570
Titles
- English
- Machine control using real-time model
Patent term adjustment
- Net adjustment
- 0 days
Classification
- CPC, 8
- G05B13/048
- H04L43/04
- A01D41/127
- A01D41/1278
- H04L47/70
- A01D41/1271
- A01D41/141
- G05B13/041
- IPC, 4
- G05B13 00
- G05B13 04
- A01D41 14
- A01D41 127