The present description relates to operations, such as off-road operations. More specifically, the present description relates to operation progress prediction, output, and control.
There are many types of off-road operations, such as agricultural operations, construction operations, turf management operations, forestry operations, as well as other types of off-road operations. In some examples, a job or a season (e.g., agricultural season), can include multiple different operations occurring at the same time or at different times, or both. For example, an agricultural season (e.g., growing season) may stretch from a period of time between of a last killing frost in spring to a first killing frost in fall. In other examples, an agricultural season May stretch across different periods of time (e.g., end of harvest previous year to end of harvest next year, etc.). However a season is defined, it may consist of multiple operations, including multiple different operations, occurring simultaneously or successively, or both. For instance, during the course of an agricultural season, various different operations may be undertaken, such as tillage, planting, product application (e.g., spraying or spreading product such as fertilizer, pesticide, herbicide, etc.), water application, harvesting, as well as others. An agricultural season may stretch 100 days or more, and operations may be separated by days, weeks, or even months. An agricultural manager (e.g., farmer, etc.) needs to plan, schedule, and implement the various operations in an attempt to efficiently grow and harvest crop.
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.
A computer implemented method comprises obtaining an operational strategy input identifying an operational strategy, obtaining a first progress perspective selection input identifying a progress perspective selection, obtaining historical data, and obtaining forecast data. The computer implemented method further comprises generating a first output including first performance perspective data based on the historical data, the forecast data, the first operational strategy, and the first progress perspective selection. The computer implemented method further comprises generating a control signal to control a user associated system based on the first output.
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.
For the purposes of promoting an understanding of the principles of the present disclosure, reference will now be made to the examples illustrated in the drawings, and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the disclosure is intended. Any alterations and further modifications to the described devices, systems, methods, and any further application of the principles of the present disclosure are fully contemplated as would normally occur to one skilled in the art to which the disclosure relates. In particular, it is fully contemplated that the features, components, and/or steps described with respect to one example may be combined with the features, components, and/or steps described with respect to other examples of the present disclosure.
Users (e.g., agricultural users) tasked with managing operations are faced with making a number of decisions throughout the course of a job or a season. Often, users must make such decisions quickly and without time or resources for significant consideration. Such decisions can include whether to perform operations, the timing of operations, how to deploy resources to execute operations, and how to set machine settings for controlling a machine during an operation. Often, a user makes these decisions in order to optimize one or more performance metrics (e.g., quality, profit, time to complete, etc.).
It can be difficult for users to determine how well an operation or how well a job or a season is progressing, relative to end goals, during the course of the operation, job, or season. Additionally, conditions can change throughout the course of an operation, a job, or a season. It can be difficult for users to determine how a current plan will perform given the changing conditions, to determine how a possible adjustment to the plan will perform, or to determine what adjustments can be made to account for the changing conditions.
The present discussion proceeds, in some examples, with respect to systems that generate outputs indicative of progress of one or more operations, one or more jobs or one or more seasons, can further indicate one or recommend operational plan adjustments for adjusting the execution of the one or more operations, the one or more jobs or the one or more seasons.
It will be understood that while various examples detailed herein proceed in the context of agricultural operations and agricultural work machines the systems and methods described herein are applicable to and can be used in various other types of off-road operations and off-road machines, such as, but not limited to, construction operations and construction work machines, turf management operations and turf management machines, and forestry operations and forestry machines.
Progress prediction computing system 102 includes one or more processors or servers 103, one or more data stores 104, communication system 106, progress perspective identifier system 110, operational plan identifier system 112, progress modeling system 114, output generator system 116, data intake system 118, and can include various other items and functionality 120.
It will be understood that the one or more processors or servers 103 can include various processing units, including central processing units (CPUs) and graphic processing units (GPUs).
Communication system 106 provides for communication between items of progress prediction computing system 102 as well as between progress prediction computing system 102 and other items of operations computing system architecture 100. Communication system 106 can include wired communication circuitry or wireless communication circuitry, or both, as well as wired communication components or wireless communication components, or both. In some examples, communication system 106 can be a cellular communication system, a system for communication over a wide area network (WAN), a system for communication over a local area network (LAN), a system for communication over a controller area network (CAN), such as a CAN BUS, a system for communication over a near field communication network, or a system for communication over any of a wide variety of other networks, or a system for communication over a combination of the previously described networks. Communication system 106 can include a system that facilitates downloads or transfers of information to and from a secure digital (SD) card or a universal serial bus (USB) card, or both.
Data stores 104, themselves, include historical data 160, forecast data 162, assets data 164, one or more models 166, and can include various other data 168.
Data intake system 118 obtains (receives or retrieves) the data, via communication system 106, and stores the data in data stores 104.
It will be understood that the data in data stores 104 can be obtained by progress prediction computing system 102 in various ways. For example, the data can be obtained by user input, such as a user input provided by a user 180 via interface mechanisms 204 or 304, or both. The data can be obtained from mobile work machines 200. For instance, mobile work machines 204 can include one or more sensors (as shown in
Historical data 160 can include a variety of historical data, including historical weather data, historical crop data, historical worksite data, historical operation data, historical sensor data, historical productivity data, as well as various other historical data. It will be understood that historical data includes data from one or more previous operations, jobs or seasons and include data from a previous time in a current operation, job or season.
Historical weather data can include various data indicative of historical weather characteristics such as historical temperature data, historical precipitation data, historical wind data, historical humidity data, historical sunlight (e.g., sunlight intensity, etc.) data, as well as various other historical weather data indicative of various other historical weather characteristics.
Historical crop data can include various data indicative of historical crop characteristics, such as historical crop genotype data, historical crop planting data (e.g., population, spacing, depth, etc.), historical crop growth data, historical crop yield data, historical crop constituents data, as well as various other historical crop data indicative of various other historical crop characteristics.
Historical worksite data can include various data indicative of historical worksite characteristics, such as historical worksite boundary data, historical worksite topography data, historical soil characteristic (e.g., soil moisture, soil type, soil nutrients, soil composition, soil compaction, etc.) data, as well as various other historical worksite data indicative of various other historical worksite characteristics.
Historical operation data can include various data indicative of historical operation characteristics, such as historical operation type data, historical operation location data, historical operation timing data, historical operation parameters data, as well as various other historical operation data indicative of various other historical operation characteristics.
Historical sensor data can include various data indicative of historical characteristics detected by sensors (e.g., sensors on mobile work machines 200, sensors 172, etc.).
Historical productivity data can include various data indicative of historical performance characteristics, such as historical time to complete data, historical costs data, historical profits data, historical yield data, historical losses data, historical quality data, as well as various other historical productivity data indicative of various other historical performance characteristics. Additionally, the historical productivity data may be categorized by machine or by operator, or both.
Forecast data 162 can include a variety of forecast data, including forecast weather data, forecast worker availability data, forecast equipment availability data, as well as various other forecast data. It will be understood that forecast data is predictive data.
Forecast weather data can include various data indicative of forecast weather characteristics such as forecast temperature data, forecast precipitation data, forecast wind data, forecast humidity data, forecast sunlight (e.g., sunlight intensity, etc.) data, as well as various other forecast weather data indicative of various other forecast weather characteristics.
Forecast worker availability data can include various data indicative of worker availability, such as forecast worker availability data that indicates the workers that will be available to work and when the workers will be able to work, as well as various other forecast worker availability data indicative of various other worker availability characteristics.
Forecast equipment availability data can include various data indicative of equipment availability characteristics, such as forecast equipment availability data that indicates the types of equipment that will be available for work, the number of equipment that will be available for work, when equipment will be available for work, as well as various other forecast equipment availability data indicative of various other equipment availability characteristics.
Assets data 164 can include a variety of assets data including equipment assets data, worker assets data, worksite assets data, products assets data, resources assets data, as well as various other assets data.
Equipment assets data include various data indicative of equipment characteristics, such as equipment assets data that indicates the number of equipment, the types of equipment, the ratings of the equipment, cost of operation of equipment, as well as various other equipment assets data that indicates various other equipment characteristics. It will be understood that equipment assets data can include data relative to equipment of the particular user and data relative to equipment available to the user (e.g., equipment available to rent or purchase, such as equipment available to rent or purchase within a given distance of the user).
Worker assets data include various data indicative of worker characteristics, such as worker assets data that indicates the number of workers, the qualifications of the workers (e.g., equipment qualified to operate), cost of labor of the workers, as well as various other worker assets data that indicates various other worker characteristics. It will be understood that worker assets data can include data relative to workers of the particular user and data relative to workers available to the user (e.g., workers available to hire, such as workers available to hire within a given distance of the user).
Worksite assets data can include various data indicative of worksite characteristics, such as the location, size, and identifying information of the worksites, as well as various other worksite assets data that indicates various other worksite characteristics. It will be understood that worksite assets data can include data relative to worksite of the particular user and data relative to worksites available to user (e.g., worksites available to purchase or rent, such as worksites available to purchase or rent within a given distance of the user).
Product assets data can include various data indicative of product characteristics, such as the types of product, the amount of product, the cost of the product, as well as various other product assets data that indicates various other product characteristics. It will be understood that product assets data can include data relative to the products of the particular user and data relative to products available to user (e.g., products available to purchase, such as product available to purchase within a given distance of the user).
Resources assets data can include various data indicative of resources characteristics, such as the types of resources, the amount of resources, the cost of the resources, as well as various other resources assets data that indicates various other resources characteristics. It will be understood that resources assets data can include data relative to the resources of the particular user and data relative to resources available to user (e.g., resources available to purchase, such as resources available to purchase within a given distance of the user).
Models 166 are configured to receive one or more inputs and generate one or more outputs, for example, to receive one or more of historical data 160, forecast data 162, assets data 164, and other data 168 and generate an output, such as progress perspective data 160. Models can be preprocessed (e.g., pretrained or preset models) or models can be generated, such as generated in response to a user request. Models can be obtained from a third-party or can be preprocessed or generated by progress prediction computing system 102. Models 166 can include without limitation, equations, functions (e.g., regressions, etc.), empirical correlations, statistics, tables, matrices, and the like. In other examples, models can include symbols, knowledge bases, and logic such as rule-based systems. Some models are hybrid, utilizing both mathematics and logic. Some models may include random, non-deterministic, or unpredictable elements. Some models May include networks of data values such as neural networks. Models 166 can include, without limitation, crop growth models, crop senescence models, crop ripening models, crop dry down models, soil trafficability models, soil compaction susceptibility models, soil carbon sequestration models, equipment productivity models, worker productivity models, equipment availability models (e.g., maintenance and repair downtime, unscheduled downtime, etc.), worker availability models, off-field crop handling models (e.g., highway transport models, crop dryer throughput models, storage acceptance throughput models, ginning models, etc.), These are just some examples of models.
Data stores 122 can include various other data 168 including, but not limited to, one or more selections 190, outputs 195, computer executable instructions that are executable by one or more processors or servers 103 to implement other items or functionalities of progress prediction computing system 102, as well as various other data. It will be understood that data stores 104 can include different forms of data stores, for instance one or more of volatile data stores (e.g., Random Access Memory (RAM)) and non-volatile data stores (e.g., Read Only Memory (ROM), hard drives, solid state drives, etc.).
Progress prediction computing system 102 receives one or more selections 190 and generates one or more outputs 195 based, at least in part, on the one or more selections 190. Discussion will now briefly proceed at
As shown in
Operational strategies 400 can include one or more plan(s) 420, one or more constraint(s) 422, and can include various other items 424.
Plans 420 define various operational strategy parameters for a planned operation or a planned job or season. Plans 420 can define planned timing and location of one or more operations, planned machine settings and prescriptions for each of the one or more operations, planned machine distributions for each of the one or more operations, and planned operator assignments for each of the one or more operations. Plans 420 can also define planned goals, such as outcomes to maximize (e.g., maximize profit, maximize yield, maximize revenue, etc.) or outcomes to minimize (e.g., minimize carbon dioxide total or per unit produced, minimize loss, etc.), or both. Plans 420 can define a complete by date goal. Plans 420 can define planned usage (e.g., do not use overtime hours, use overtime hours, only use owned equipment, can use leased, borrowed, or buy and use upgraded equipment, etc.). Plans 420 can define repair strategies (e.g., fix-on-fail, condition-based repair, etc.). Plans 420 can define various other operational strategy parameters.
Constraints 422 define operational strategy constraints or limits not to be exceeded. Constraints 422 can include minimums, maximums, or deadlines not to be exceeded. Constraints 422 can define, without limitation, maximum carbon dioxide total or per unit produce, completion deadline, earliest start date, minimum profit, maximum point soil compaction, maximum aggregate soil compaction, average soil compaction, minimum soil erosion potential, as well as various other constraints (or limits).
Progress perspective selections 404 can include one or more scope(s) 426, one or more progress definition(s) 428, and can include various other items 430.
Scope(s) 426 define the operation or operations or job or jobs or season or seasons for which progress perspective data is sought. For example, scopes 426 can define that progress perspective data is sought for one or more operations (e.g., tilling/cultivating, planting, spraying, spreading, irrigation, harvesting, etc.), occurring at the same time or at different times and occurring at the same worksite or at different worksites. Scopes 426 can define that progress perspective data is sought for one or more jobs or seasons, such as the progress of a job or of multiple jobs, or the progress of a season or of multiple seasons, for a worksite or multiple worksites.
Progress definitions 428 define progress, or, more particularly, that which the progress of is being tracked. Some examples of progress definitions 428, without limitation, include completion, area completed, crop growth stage and projected maturity, revenue harvested, crop volume/mass harvested or grazed, profit harvested, harvestable bushels planted, loss, loss prevented, incremental yield gain, as well as various other progress definitions.
In some examples, the way in which outputs 195 are presented can be customized or preselected. In other examples, the way in which outputs 195 are presented is determined by progress prediction computing system 102. Output selections 406 define parameters of how progress perspective data is to be presented, such as defining the type of presentation (e.g., visual, such as a display, or audible, etc.), as well as elements of the presentation (e.g., graphs, labels, titles, scales, grid lines, colors, patterns, textures, point symbols, etc.). In some examples, there may be a number of presentation templates, from which a template can be selected. Output selections 406 can further define whether progress prediction computing system 102 is to provide alerts or annotations, or both. Output selections 406 can further define whether progress prediction computing system 102 is to provide recommend operational adjustments.
In some examples, the model(s) 166 to be used by progress prediction computing system 102 can be selected by the entity (e.g., user 180, machine 200, computing system 300, etc.) requesting outputs 195. Model selections 408 may thus define which model(s) 166 are to be used by progress prediction computing system 102 in generating outputs 195. In other examples, progress prediction computing system 102 determines which models 166 are to be used.
In some examples, progress prediction computing system 102 provides, as an output, one or more recommended operational adjustments. Operational adjustment preference selections 410 thus define which one or combination of recommended operational adjustments are preferred to be implemented.
Outputs 195 can include progress perspective data 450, one or more recommended operational adjustments 452, data 453, one or more presentation(s) 454, and can also include various other items 456.
Progress perspective data 450 includes progress information relative to progress perspective selections 404. Progress perspective data 450 can include progress of an operation or of multiple operations, the progress of a job or of multiple jobs, or the progress of a season or multiple seasons, relative to progress definitions 428. Additionally, progress perspective data 450 includes progress information indicative of progress so far completed as well as information indicative of a prediction of upcoming progress, which can include a prediction of when upcoming progress will occur and when progress will be complete.
Recommended operational adjustments 452 can include recommended adjustments to an operational strategy 400. Recommended operational adjustments can include adjustments to plans 420 or constraints 422, or both. Recommended operational adjustments can include adjustments to operation timing, operations to take place, machine settings, prescriptions, machine distributions, worker (or operator) assignments, machine use, worker use, repair strategies, complete by dates, as well as various other operational strategy parameters and constraints.
Data 453 includes one or more (or portions of one or more) of historical data 160, forecast data 162, assets data 164, models 166, and other data 168.
Presentations 454 can include displays or audible outputs, or both, that present progress perspective data 450 or recommend operational adjustments 452, or both, as well, in some examples, data 453, which can be presented on interface mechanisms (e.g., 204 or 304, or both). Alternatively, presentations 454 can include instructions, useable by interface mechanisms (e.g., 204 or 304, or both) for presenting (e.g., via display or audible output, or both) progress perspective data 450 or recommended operational adjustments 452, or both, as well, in some examples, data 453.
It will be understood that selections 190 can be provided by a user 180, such as through interaction(s) with an interface mechanism (e.g., 204 or 304, or both) or can be provided by a machine (e.g., 200 or 300, or both), or both.
Discussion now returns to
As illustrated in
Progress perspective identifier system 110 illustratively identifies progress perspective selections 404. Progress perspective identifier system 110 illustratively includes scope identifier system 130, progress definition identifier system 132, and can include other items 134. Scope identifier system 130 identifies scopes 426. Progress definition identifier system 132 identifies progress definitions 132. Other items 134 can identify other items 428.
Operational strategy identifier system 112 illustratively identifies operational strategies 400. Operational strategy identifier system 112 illustratively includes operational plan identifier system 136, operational constraints identifier system 138, and can include other items 140. Operational plan identifier system 136 identifies plans 420. Operational constraints identifier system 138 identifies constraints 122. Other items 140 can identify other items 424.
Output generator system 116 illustratively generates outputs 195 that include progress perspective data 450 and, in some examples, recommended operational adjustments 452 generated by progress modeling system 114 or data 453, or both, and can include presentations 454 that present or provide instructions for presenting progress perspective data 450 and, in some examples, recommended operational adjustments 452 or data 453, or both. Output generator system 116 illustratively includes output identifier system 148, output generator 150, and can include other items 152 as well. Output identifier system 148 identifies output selections 406. Output generator 150 generates outputs 195.
Progress modeling system 114 illustratively executes or generates models to generate progress perspective data 450 and, in some examples, recommended operational adjustments 452, based on operational strategies 400 identified by operational strategy identifier system 112, progress perspective selections 404 identified by progress perspective identifier system 110, and in some examples, output selections 406 identified by output identifier system 148 or model selections 408 identified by model identifier system 143, or both. For example, where an output selection 406 indicates that recommended operational adjustments 452 are to be provided, then progress modeling system 114 executes or generates models 166 to provide recommended operational adjustments 452. In some examples, recommended operational adjustments 452 may be provided by default, in which case, progress modeling system 114 executes or generates models 166 to provide recommended operational adjustments 452 by default (i.e., with output selections 406 indicating desire for recommended operational adjustments 452). In some examples, progress modeling system 114 executes or generates models 166 identified by model selections 408. In other examples, progress modeling system 114 determines which models 166 to execute or generate based on other information, such as operational strategies 400 or progress perspective selections 404, or both.
Progress modeling system 114 illustratively includes model identifier system 142, model data identifier system 143, model execution system 144, model generator 145, and can include various other items 146 as well.
In one example, model identifier system 142 illustratively identifies model selections 408 and identifies which model(s) 166 to execute or generate based on model selections 408. In another example, model identifier system 142 identifies which model(s) 166 to execute or generate based on operational strategies 400 and progress perspective selections. Further, in either example, model identifier system 142 can identify which model(s) 166 to execute or generate based on output selections 406 (e.g., output selections 406 indicating whether recommended operational adjustments 452 are to be provided).
Model data identifier system 143 illustratively identifies which data to provide as input(s) to the model(s) identified by model identifier system 143 or which data to provide for the generation of the model(s) identified by model identifier system 143, or both, based on the model(s) identified by model identifier system 143 and interacts with data stores 104 (e.g., via communication system 106) to obtain one or more items of data, such as one or more of historical data 160, forecast data 162, and assets data 164.
Where one or more preprocessed models are identified by model identifier system 142, model execution system 144 interacts with data stores 104 (e.g., via communication system 106) to obtain the one or more preprocessed models 166 and executes the one or more preprocessed models 166, by providing the corresponding model input data identified by model data identifier system 143, to the one or more preprocessed models 166 which, in turn, provide, as output(s) progress perspective data 450 or one or more recommended operational adjustments 452, or both.
Where one or more models are to be generated, as identified by model identifier system 142, model generator 145 generates one or more models 166 based on the data identified by model data identifier system 143. The generated models 166, in turn, provide, as output(s), progress perspective data 450 or one or more recommended operational adjustments 452, or both.
Output generator system 116, as previously discussed, generates one or more outputs 195. Outputs 195 can provided to one or more user associated systems, such as one or more computing systems 300 or one or more mobile work machines 200, or both, and can be used to control the one or more user associated systems. For example, interface mechanisms 204 or 304 may be controlled to present (e.g., display, audibly present, both, etc.) the outputs 195 (or one or more items of information from the outputs 195) to one or more users 180. Alternatively, or additionally, the operation of one or more mobile work machines 200 may be controlled based on the outputs 195, for instance, one or more controllable subsystems (e.g., 216 shown in
It will be understood that in some examples, progress prediction system 102 may include, or otherwise utilize, a generative artificial intelligence (AI) system (or model), such as large language model (LLM), as illustrated by dashed box 107. Generative AI system 107 may be executed or implemented by one or more processors or servers 103, and may implement, execute, or prompt the functionality of one or more other items shown in progress prediction computing system 102. Further, generative AI system 107 may interact with other items (e.g., computing systems 200 or mobile work machines 200, or both) of computing system 100 or with users 180 (via computing systems 300 or mobile work machines 200, or both) over network 178.
It will be understood that while the example shown in
Computing systems 300 can be a wide variety of different types of systems, or combinations thereof. For example, computing systems 300 can be computing systems such as mobile devices (e.g., smart phones, laptops, tablets, as well as other types of mobile devices), personal computers (e.g., desktops), a remote network, a farm manager system, a vendor system, or a wide variety of other computing systems.
Mobile work machines 200 can be a wide variety of different types of off-road mobile work machines. For example, mobile work machines 200 can be mobile agricultural machines, such as mobile agricultural harvesting machines, mobile agricultural tillage machines, mobile agricultural planting machines, mobile agricultural product application machines (e.g., fluid sprayers, solid material applicators (e.g., spreaders), etc.), mobile agricultural support machines (e.g., grain carts, grain trucks, tender vehicles, etc.), as well as various other types of mobile agricultural work machines. Mobile work machines 200 can also be mobile construction (or earth moving) machines (e.g., dump trucks, backhoes, excavators, loaders, dozers, graders, scrapers, skid steers, etc.), mobile turf management machines (e.g., mowers, rake machines, shredder machines, aeriation machines, etc.), or mobile forestry machines (e.g., forestry harvesters, feller bunchers, shovel loggers, skidders, kuckleboom loaders, etc.). In some examples, mobile work machines 200 include a towing vehicle (e.g., a tractor, truck, etc.) and a towed implement. In some examples, mobile work machines 200 are self-propelled (i.e., the machine that carries the implement also includes propulsion means). In some examples mobile work machines 200 include components (e.g., tools, implements, etc.) that engage a worksite or engage with material at the worksite, or both.
As shown in
As shown in
Mobile work machines 200 can include one or more processors or servers 203 and one or more data stores 222. Computing systems 300 can include one or more processors or servers 303 and one or more data stores 322. Data stores 222 include various data 223. Data stores 322 include various data 323. Data 223 or data 323, or both, can include some or all of selections 190, outputs 195, historical data 160, forecast data 162, assets data 164, models 166, other data 168, as well as various other data. Data 223 can include computer executable instructions that are executable by one or more processors or servers 203 to implement other items or functionalities of mobile work machines 200, as well as various other data. Data 323 can include computer executable instructions that are executable by one or more processors or servers 303 to implement other items or functionalities of computing systems 300, as well as various other data. It will be understood that data stores 222 or data stores 322, or both, can include different forms of data stores, for instance one or more of volatile data stores (e.g., Random Access Memory (RAM)) and non-volatile data stores (e.g., Read Only Memory (ROM), hard drives, solid state drives, etc.).
Computing systems 300 can include one or more controllers 302 that are operable to generate control signals to control various items of computing systems 300. Controllers 302 include one or more user interface controllers 304 and can include various other controllers 305. User interface controllers 202 are operable to control user interface mechanisms 304, such as to control user interface mechanisms 304 to generate a user interface 314 based on an output 195, or to generate other presentations (e.g., audible outputs, etc.) based on an output 195, or both. Computing systems 300 can include various other items and functionality 315.
Mobile work machines 200 can include one or more controllers 202 that are operable to generate control signals to control various items of mobile work machines 200. Controllers 202 include one or more user interface controllers 204, one or more controllable subsystem controllers 208, and can include various other controllers 209. User interface controllers 204 are operable to control user interface mechanisms 204, such as to control user interface mechanisms 204 to generate a user interface 214 based on an output 195, or to generate other presentations (e.g., audible outputs, etc.) based on an output 195, or both. Controllable subsystem controllers 208 are operable to control controllable subsystems 216, for example based on an output 195 or based on user input (e.g., an operational adjustment preference selection 410 input by a user), with user interface mechanisms 204, or both.
Controllable subsystems 216 include one or more actuators 218 and can include various other items 220 as well. Actuators 218 are controllable to control operation of mobile work machines 200. Actuators 218 can include any of a variety of different types of actuators, including, but not limited to, electromechanical actuators, electrical actuators, hydraulic actuators, pneumatic actuators, as well as other types of actuators. Some examples of actuators 218 include motors, internal combustion engines, pumps, valves, hydraulic cylinders, pneumatic cylinders, linear actuators, as well as various other actuators. As discussed, actuators 218 are controllable to control operation of mobile work machines 200, for example to control travel speed, to control travel direction, to control operational speed of various components of mobile work machines 200, to control position of various components of mobile work machines 200, to control orientation (e.g., pitch, roll, and yaw) of various components of mobile work machines 200, to control state (e.g., on or off, opened or closed, etc.) of various components of mobile work machines 200, to control displacement of various components of mobile work machines 200, as well as to control various other operational parameters. It will be understood that controllable subsystems 216 may vary with the type of mobile work machine 200.
As shown, in
Mobile work machines 200 can include various other items or functionalities 215.
As illustrated in
Output display elements 501 are display elements corresponding to an output 195, that is, are display elements that display information provided by an output 195. Output display elements 501 include one or more progress perspective data display elements 502, one or more recommended operational adjustment display elements 504, one or more data display elements 506, and can include various other display elements 507 as well.
Selection display elements 510 are display elements corresponding to selections and provide for display of selections and for user interaction to provide one or more selections 190. Selection display elements 510 operational strategy display elements 512, progress perspective selection display elements 514, output selection display elements 516, model selection display elements 518, operational adjustment preference selection display elements 520, and can include various other display elements 521 as well.
Progress perspective data display elements 402 display progress perspective data 450. Progress perspective data display elements 402 can include graphs (or elements of graphs), maps (or elements of maps), as well as various other computer generated images, depicting progress perspective data 450. Graphs can include line graphs, bar graphs/charts, pie charts, histograms, scatter plots, area charts, box plots, etc. Graphs can include various other types of graphs. Maps can include maps of one or more worksites and can include variable indicators (colors, patterns, values, etc.) that represent information, such as values of one or more variables, as well as legends that define what the indicators represent. The indicators can be georeferenced, that is, each indicator can be displayed at a location in the map image that corresponds to the position in the field to which the variable (represented by the indicator) corresponds. Progress perspective data display elements 502 can also include textual display elements (e.g., text boxes, etc.) that display words, letters, numbers, and other characters, or combinations thereof, in text form. Progress perspective data display elements 502 can include various other types of display elements.
Recommended operational adjustment display elements 504 display recommended operational adjustments provided by an output 195. Recommended operational adjustment display elements 504 can include images, such as prescription map images. The prescription map images can include prescription map images of one or more worksite and can include indicators (colors, patterns, values, etc.) that represent information, such as prescription values, as well as legends that define what the indicators represent. The prescription indicators can be georeferenced, that is, each prescription indicator can be displayed at a location in the map image that corresponds to the position of the information the prescription indicator represents in the worksite. The prescription values can include prescribed application rates, prescribed machine settings (e.g., speed, such as travel speed or operating speed of individual components, position (e.g., height, depth, or spacing of components), orientation, routes, as well as various other machine settings, as well as various other prescription values. Recommended operational adjustment display elements 504 can also include textual display elements (e.g., text boxes, etc.) that display words, letters, numbers, and other characters, or combinations thereof, in text form. Recommended operational adjustment display elements 504 can include various other types of display elements. In some examples, prescription display elements 404 may be user actuatable (e.g., by touch input) and actuation May act as user authorization for instituting the recommended operational adjustments 452 or may cause the user interface mechanism 501 to alter the interface 514 to generate a display of a menu that allows the user to institute the prescriptions.
Data display elements 506 display data 453 provided by an output 195. Data display elements 506 can include textual display elements (e.g., text boxes, etc.) that display words, letters, numbers, and other characters, or combinations thereof, in text form. Data display elements 506 can include graphs (or elements of graphs), maps (or elements of maps), as well as various other computer generated images, depicting data 453. Data display elements 506 can include various other types of display elements.
Dialogue display elements 508 comprise a dialogue interface area for providing for and displaying of dialogue between a user 180 and progress prediction computing system 102. In one example, dialogue display elements 508 includes an input field (text input field) display element, a software keyboard display element, an enter or send button display element, and a dialogue feed display field display element. A user 180 can interact (e.g., via touch input, etc.) with the software keyboard to input text (letters, numbers, other characters) to compose dialogue which is displayed for review in the input field display element. When a user wishes to submit a dialogue, the user can interact (e.g., via touch input, etc.) with the enter or send button display element. The submitted dialogue will be displayed in the dialogue feed display element. A response to the user submitted dialogue may be provided by progress prediction computing system 102 and the response can be displayed in the dialogue feed display element. User submitted dialogue and responses from progress prediction computing system 102 can be differentiated in the dialogue feed display element in various ways including by difference in color or position, or both. User submitted dialogue and responses can remain displayed in the dialogue feed display element and subsequent user submitted dialogue and responses can be displayed, in a feed-style manner, below previous user submitted dialogue and responses. In some examples, user interface mechanism 504 may support audible input and output, in which case, a user may, additionally, or alternatively, compose dialogue via audible speech and the responses from progress prediction computing system 102 may additionally, or alternatively, be output via audible speech. The dialogue display elements 508 may include a button or toggle to switch audible input and output functionality on and off.
Selection display elements 510 provide for user interaction (e.g., touch, audible, etc.) to provide one or more selections 190. Operational strategy display elements 512 provide for user interaction to provide one or more operational strategies 400. Progress perspective display elements 514 provide for user interaction to provide one or more progress perspective selections 404. Output selection display elements 516 provide for user interaction to provide one or more output selections 406. Model selection display elements 518 provide for user interaction to provide one or more model selections 408. Operational adjustment preference selection display elements provide for user interaction to provide one or more model selections. Display elements 510 can include an input field (text input field) display element, a software keyboard display element, an enter or send button display element. A user 180 can interact (e.g., via touch input, etc.) with the software keyboard to input text (letters, numbers, other characters) to compose dialogue which is displayed for review in the input field display element. Display elements 510 can additionally, or alternatively, include various other types of display elements such as buttons, menus, as well as various other types of display elements. In some examples, user interface mechanism 504 may support audible input and output, in which case, a user may, additionally, or alternatively, provide selections 190 via audible speech. The selection display elements 510 may include a button or toggle to switch audible input and output functionality on and off.
Additionally, it will be understood that in some examples selections 190 may be input as dialogue via dialogue display elements 508. In other examples, selections 190 may be input through selection display elements 510. In other examples, selections 190 may be input as dialogue via dialogue display elements 508 or through selection display elements 510, or both. In yet other examples, some selections 190 may be input additionally, or alternatively, through interaction with other display elements, for example, operational adjustment preference selections may be provided through user interaction with recommended operational adjustment display elements 504.
It will be understood that interface 514, as shown in
Generally, user interface 514-1 illustrates historical and predicted progress of crop growth over the course of a season and provides further context with display of historical and forecast weather data (e.g., precipitation data), as well as historical and predicted operations.
As illustrated in
Data display element 506-2 comprises text “NPK 185 lbs Till Apr. 1, 2024” and a line 9 overlaying the graph 523 and disposed on the x-axis 528 at the interval representing the date Apr. 1, 2024 (4/1/24) to illustrate that a tillage operation, including application of NPK (nitrogen, phosphorus, and potassium) fertilizer product at 185 pounds an acre, was conducted on Apr. 1, 2024. Data display element 506-3 comprises text “Planted Apr. 7, 2024” and a line overlaying the graph 523 and disposed on the x-axis 528 at the interval representing the date Apr. 7, 2024 (4/7/24) to illustrate that planting was completed on Apr. 7, 2024. Data display element 506-4 comprises text “PostEmerge Apr. 24, 2024” and a line overlaying the graph 523 and disposed on the x-axis 528 at the interval representing the date Apr. 24, 2024 (4/24/24) to illustrate that a post emergence herbicide application was conducted on Apr. 24, 2024.
Progress perspective data display element 502-2 comprises text “NPK 60 lbs/ac Aug. 1, 2024” and a line overlaying the graph 523 and disposed on the x-axis 528 at the interval representing the date Aug. 1, 2024 (8/1/24) to illustrate that, per an operational strategy 400, an application of NPK fertilizer product at 60 pounds an acre is scheduled to be conducted on Aug. 1, 2024. Progress perspective data display element 502-3 comprises text “Harvest Oct. 12, 2024” and a line overlaying the graph 523 and disposed the x-axis 528 at the interval representing the date Oct. 12, 2024 (10/12/24) to illustrate when progress prediction computing system 102 predicts harvest will occur.
Table 1 illustrates an example dialogue between a user 180 and progress prediction computing system (PPCS) 102 that may result in interface 514-1.
indicates data missing or illegible when filed
USER: “I plan to conduct an NPK fertilizer application operation on Aug. 1, 2024 this season” (operational strategy 400) “show me when harvest will occur this season” (progress perspective selection 404).
PPCS: “Currently, harvest is predicted to occur on Oct. 12, 2024” (progress perspective data 450) “as shown in the provided user interface” (presentation 454).
Recommended operation adjustment display element 504-1 comprises text “Irrigate 6 gpm/ac Aug. 2, 2024” and a line overlaying the graph 523 disposed the x-axis 528 at the interval representing the date Aug. 2, 2024 (8/2/24) to illustrate a timing for a recommended operation adjustment in the form of an added irrigation operation to apply water at 6 gallons per minute an acre.
Progress perspective data display element 502-4 comprises text “Harvest Oct. 7, 2024” and a line overlaying the graph 523 and disposed the x-axis 528 at the interval representing the date Oct. 7, 2024 (10/7/24) to illustrate when progress prediction computing system 102 predicts harvest will occur if the recommended operation adjustment is implemented.
Progress perspective display element 502-5 includes graph 523, y-axis 524, x-axis 528, and a line display element 546 that includes historical progress portion 532 and alternate predicted progress portion 548. Alternate predicted progress portion 548 illustrates an alternate predicted crop growth throughout a remainder of an alternate season (illustratively up to alternate harvest time on Oct. 7, 2024 (10/7/24)).
Table 2 illustrates a continuation of the dialogue from Table 1 between a user 180 and progress prediction computing system (PPCS) 102 that may result in interface 514-2.
indicates data missing or illegible when filed
USER: “How” (operational strategy 400) “can I make harvest happen by Oct. 7, 2012” (progress perspective selection 404)?
PPCS: “Adding an irrigation operation of 6 gallons per minute an acre on Aug. 2, 2024, 24 hours after the planed fertilizer application on Aug. 1, 2024” (recommended operational adjustment 452) “is predicted to result in harvest occurring on Oct. 7, 2012” (progress perspective data 450 “as shown in the provided user interface” (presentation 454).
Generally, user interface 514-2 shows a historical and predicted progress of harvesting across a user's farm during a current season at multiple percentiles based on historical harvesting data 160 for the user's farm.
As illustrated in
Table 3 illustrates an example dialogue between a user 180 and progress prediction computing system (PPCS) 102 that may result in interface 514-3. It should be noted that the user is currently on day 6.
indicates data missing or illegible when filed
USER: “Show me a harvest completion” (progress perspective selection 404) “over 12 days using my currently scheduled worker availability from when I began harvest” (operational strategy 400).
PPCS: “Predict a 100 percentile harvest completion at day 10, a 75 percentile harvest completion of 85% at day 12, and a 25 percentile harvest completion of 45% at day 12” (progress perspective data 450). “Currently you have a harvest completion of 25% and have a predicted completion of 60% at day 12” (progress perspective data 450) “as shown in the provided user interface” (presentation 454).
As illustrated in
Table 4 illustrates a continuation of the dialogue from Table 3 between a user 180 and progress prediction computing system (PPCS) 102 that may result in interface 514-4.
indicates data missing or illegible when filed
USER: “How” (operational strategy 400) “can I increase my harvest completion by day 12” (progress perspective selection 404)?”
PPCS: “There are several things that can be done to improve harvest completion:” 1) Mannie implement has a larger capacity combine available for rent; 2) current availability data shows time that could be used to run existing equipment longer each day; 3) harvester speed could be increased by 2 miles per hour” (recommended operational adjustments 452).
USER: “Which option results in the most profit” (progress perspective selection 404).
PPCS: “Since the available farm labor are family members, the progress is achieved with zero labor cost and results in the most profit” (progress perspective data 450).
USER: “Show me” (output selection 406) “the option where work hours” (model selection 408) “are increased” (operational strategy 400).
PPCS: “Increasing work hours from day 6 is predicted to result in an increased harvest completion of 75%” (progress perspective data 450).
Other data display element 522-1 illustratively comprises a legend that defines the operations to which bars 598 correspond. Other data display elements 522-2, 522-3, and 522-4 comprise worksite identifying information (text, numbers, and icon) that identifying the worksite that each row in the graphical table 590 corresponds to.
In the illustrated example, progress perspective data display element 502-8 comprises a table 590 having a time scale 591 extending from a beginning of a season (illustratively the beginning of March) to an end of the season (illustratively the end of December). Table 590 further includes 3 rows, 592, 594, and 596, and 2 columns, 593 and 595. Each row corresponds to a different worksite, as identified by other display elements 522-1, 522-2, and 522-3 in column 593. Column 595 that displays progress perspective data 504 for each worksite. Specifically, each row in column 595 includes one or more bars 598. Each bar 598 corresponds to a particular type of operation and, as shown, a given type of operation may occur more than once or otherwise be separated in time such that multiple bars 598 in a row may correspond to a same type of operation. Table 590 illustrates a predicted progression of a season across multiple worksites, including predicted progressions of each of multiple operations at each worksite during the season.
Table 5 illustrates an example dialogue between a user 180 and progress prediction computing system (PPCS) 102 that may result in interface 514-5.
indicates data missing or illegible when filed
USER: “Show me” (output selection 406) “a season end date” (progress perspective selection 404) “for all of my worksites if I start tillage in in March” (operational strategy 400)”.
PPCS: “Your predicted season end date is December 26th, finishing at Field 2, with Field 1 finishing on December 8th, and Field 4 finishing November 16th” (progress perspective data 450) “as shown in the provided user interface” (presentation 454).
At block 802, progress prediction computing system 102 obtains (e.g., receives or retrieves) a selection 190 including an operational strategy 400. As illustrated by block 804, operational strategy 400 can include plans 804. As illustrated by block 806, operational strategy can, alternatively or additionally, include constraints 806. As illustrated by block 808, operational strategy can, alternatively or additionally, include other items 424.
At block 810, progress prediction computing system 102 obtains a selection 190 including a progress perspective selection 404. As illustrated by block 812, progress perspective selection 404 can include scope 426. As illustrated by block 814, progress perspective selection 404 can, alternatively or additionally, include progress definition 428. As illustrated by block 816, progress perspective selection 404 can include other items 430.
At block 818, progress prediction computing system 102 can obtain selection(s) 190 including other items. As illustrated by block 820, the other items can include an output selection 406. As illustrated by block 822, other items can include, alternatively or additionally, a model selection 408. As illustrated by block 824, other items can include, alternatively or additionally, other selections 412.
It will be noted that a single selection 190 can provide all the items discussed at blocks 802, 810, and 818. In other examples, multiple selections 190 can provide the items discussed at blocks 802, 810, and 818 according to various distributions.
At block 826, progress prediction computing system 102 obtains various data based, at least in part, on the obtained selection(s) 190. The various data can include historical data 160, as indicated by block 828. The various data can include, alternatively or additionally, forecast data 162, as indicated by block 830. The various data can include, alternatively or additionally, assets data 164, as indicated by block 832. The various data can include, alternatively or additionally, one or more models 166, as indicated by block 834. The various data can include, alternatively or additionally, various other data 168, as indicated by block 836.
At block 838, progress prediction computing system 102 generates one or more outputs 195. The one or more outputs 195 can include progress perspective data 450, as indicated by block 840. The one or more outputs 195 can include, alternatively or additionally, one or more recommended operational adjustments 452, as indicated by block 842. The one or more outputs can include, alternatively or additionally, one or more data 453, as indicated by block 844. The one or more outputs 195 can include, alternatively or additionally, one or more presentations 454, as indicated by block 846.
At block 848 a user 180 or a user associated system, such as computing systems 300 or mobile work machines 200, determine if the one or more outputs 195 are satisfactory.
If, at block 848, it is determined that the one or more outputs 195 are not satisfactory, operation proceeds to block 849 where one or more additional (e.g., updated) selections 190 are obtained. The one or more additional selections 190 can include one or more of an additional operation strategy 400, an additional progress perspective selection 404, an additional output selection 406, an additional model selection 408, or various other additional selections 412. Processing then returns to block 826.
If, at block 848, it is determined that the one or more outputs 195 are satisfactory, operation proceeds to block 850 where, optionally, an operational adjustment preference selection 410 is obtained. An operational adjustment preference selection 410 might be obtained when the one or more outputs 195 include one or more recommended operational adjustments 452.
At block 852 one or more user associated system (e.g., remote computing systems 300 or mobile work machines 200, or both) generate control signals based on the one or more outputs 195, and, in some examples, based on the obtained operational adjustment preference selection 410. As indicated by block.
As indicated by block 854, remote computing systems 300 can generate control signals to control user interface mechanisms 304 to generate a presentation (e.g., display or audible, or both) to present the one or more outputs 195 (or information therein) to a user 180. Controlling a user interface mechanism 304 to generate a presentation can, in one example, include controlling a user interface mechanism 304 to generate a user interface display 314 (e.g., 514). Alternatively, or additionally, at block 854, mobile work machines 200 can generate control signals to control user interface mechanisms 204 to generate a presentation (e.g., display or audible, or both) to present the one or more outputs 195 (or information therein) to a user 180. Controlling a user interface mechanism 204 to generate a presentation can, in one example, include controlling a user interface mechanism 204 to generate a user interface display 214 (e.g., 514).
As indicated by block 856, mobile work machines 200 can generate control signals to control one or more controllable subsystems 516 based on the one or more outputs (or information therein) and, in some examples, an operational adjustment preference selection 410.
As indicated by block 858 user associated systems, such as remote computing systems 300 or mobile work machines 200, or both, can generate control signals to control various other items.
At block 860, it is determined if the operation 500 is complete. If it is determined that the operation is complete, then the operation ends. If it is determined that the operation is not complete, then the operation proceeds to block 861 where one or more additional (e.g., updated) selections 190 are obtained. The one or more additional selections 190 can include one or more of an additional operation strategy 400, an additional progress perspective selection 404, an additional output selection 406, an additional model selection 408, or various other additional selections 412. Processing then returns to block 826.
The present discussion has mentioned processors and servers. In some examples, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by and facilitate the functionality of the other components or items in those systems.
Also, a number of user interface displays have been discussed. The displays can take a wide variety of different forms and can have a wide variety of different user actuatable operator interface mechanisms disposed thereon. For instance, user actuatable operator interface mechanisms may include text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. The user actuatable operator interface mechanisms can also be actuated in a wide variety of different ways. For instance, they can be actuated using operator interface mechanisms such as a point and click device, such as a track ball or mouse, hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc., a virtual (e.g., software) keyboard or other virtual (e.g., software) actuators. In addition, where the screen on which the user actuatable operator interface mechanisms are displayed is a touch sensitive screen, the user actuatable operator interface mechanisms can be actuated using touch gestures. Also, user actuatable operator interface mechanisms can be actuated using speech commands using speech recognition functionality. Speech recognition may be implemented using a speech detection device, such as a microphone, and software that functions to recognize detected speech and execute commands based on the received speech.
Additionally, various models have been discussed. Model implementations may be mathematical, making use of mathematical equations, empirical correlations, statistics, tables, matrices, and the like. Other model implementations may rely more on symbols, knowledge bases, and logic such as rule-based systems. Some implementations are hybrid, utilizing both mathematics and logic. Some models may incorporate random, non-deterministic, or unpredictable elements. Some model implementations may make use of networks of data values such as neural networks. These are just some examples of models. Additionally, models may be generated in a variety of ways including with employment of artificial intelligence (e.g., machine learning, etc.) method, including, without limitation, memory networks, Bayes systems, decisions trees, Eigenvectors, Eigenvalues and Machine Learning, Evolutionary and Genetic Algorithms, Cluster Analysis, Expert Systems/Rules, Support Vector Machines, Engines/Symbolic Reasoning, Generative Adversarial Networks (GANs), Graph Analytics and ML, Linear Regression, Logistic Regression, LSTMs and Recurrent Neural Networks (RNNSs), Convolutional Neural Networks (CNNs), MCMC, Random Forests, Reinforcement Learning or Reward-based machine learning. Learning may be supervised or unsupervised.
A number of data stores have also been discussed. It will be noted the data stores can each be broken into multiple data stores. In some examples, one or more of the data stores May be local to the systems accessing the data stores, one or more of the data stores may all be located remote form a system utilizing the data store, or one or more data stores may be local while others are remote. All of these configurations are contemplated by the present disclosure.
Also, the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used to illustrate that the functionality ascribed to multiple different blocks is performed by fewer components. Also, more blocks can be used illustrating that the functionality may be distributed among more components. In different examples, some functionality may be added, and some may be removed.
It will be noted that the above discussion has described a variety of different systems, modules, generators, components, and interactions. It will be appreciated that any or all of such systems, modules, generators, components, and interactions may be implemented by hardware items, such as one or more processors, one or more processors executing computer executable instructions stored in memory, memory, or other processing components, some of which are described below, that perform the functions associated with those systems, components, generators, or interactions. In addition, any or all of the systems, modules, generators, components, and interactions may be implemented by software that is loaded into a memory and is subsequently executed by one or more processors or one or more servers or other computing component(s), as described below. Any or all of the systems, modules, generators, components, and interactions may also be implemented by different combinations of hardware, software, firmware, etc., some examples of which are described below. These are some examples of different structures that May be used to implement any or all of the systems, modules, generators, components, and interactions described above. Other structures may be used as well.
In the example shown in
It will also be noted that the elements of previous figures, or portions thereof, may be disposed on a wide variety of different devices. One or more of those devices may include an on-board computer, an electronic control unit, a display unit, a server, a desktop computer, a laptop computer, a tablet computer, or other mobile device, such as a palm top computer, a cell phone, a smart phone, a multimedia player, a personal digital assistant, etc.
In some examples, remote server architecture 1000 may include cybersecurity measures. Without limitation, these measures may include encryption of data on storage devices, encryption of data sent between network nodes, authentication of people or processes accessing data, as well as the use of ledgers for recording metadata, data, data transfers, data accesses, and data transformations. In some examples, the ledgers may be distributed and immutable (e.g., implemented as blockchain).
In other examples, applications can be received on a removable Secure Digital (SD) card that is connected to an interface 15. Interface 15 and communication links 13 communicate with a processor 17 (which can also embody processors or servers from other figures) along a bus that is also connected to memory 21 and input/output (I/O) components 23, as well as clock 25 and location system 27.
I/O components 23, in one example, are provided to facilitate input and output operations. I/O components 23 for various examples of the device 16 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 23 can be used as well.
Clock 25 illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor 17.
Location system 27 illustratively includes a component that outputs a current geographical location of device 16. 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. Location system 27 can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
Memory 21 stores operating system 29, network settings 31, applications 33, application configuration settings 35, data store 37, client system 24, communication drivers 39, and communication configuration settings 41. Memory 21 can include all types of tangible volatile and non-volatile computer-readable memory devices. Memory 21 may also include computer storage media (described below). Memory 21 stores computer readable instructions that, when executed by processor 17, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor 17 may be activated by other components to facilitate their functionality as well.
Note that other forms of the devices 16 are possible.
Computer 1210 typically includes a variety of computer readable media. Computer readable media may be any available media that can be accessed by computer 1210 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. Computer readable media 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 1210. 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 1230 includes computer storage media in the form of volatile and/or nonvolatile memory or both such as read only memory (ROM) 1231 and random access memory (RAM) 1232. A basic input/output system 1233 (BIOS), containing the basic routines that help to transfer information between elements within computer 1210, such as during start-up, is typically stored in ROM 1231. RAM 1232 typically contains data or program modules or both that are immediately accessible to and/or presently being operated on by processing unit 1220. By way of example, and not limitation,
The computer 1210 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), 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), quantum computers, etc.
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 1210 through input devices such as a keyboard 1262, a microphone 1263, and a pointing device 1261, 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 through a user input interface 1260 that is coupled to the system bus, but may be connected by other interface and bus structures. A visual display 1291 or other type of display device is also connected to the system bus 1221 via an interface, such as a video interface 1290. In addition to the monitor, computers may also include other peripheral output devices such as speakers 1297 and printer 1296, which may be connected through an output peripheral interface 1295.
The computer 1210 is operated in a networked environment using logical connections (such as a controller area network—CAN, local area network—LAN, or wide area network WAN) to one or more remote computers, such as a remote computer 1280.
When used in a LAN networking environment, the computer 1210 is connected to the LAN 1271 through a network interface or adapter 1270. When used in a WAN networking environment, the computer 1210 typically includes a modem 1272 or other means for establishing communications over the WAN 1273, such as the Internet. In a networked environment, program modules may be stored in a remote memory storage device.
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 the claims.
The present application is based on and claims the benefit of U.S. provisional patent application Ser. No. 63/594,557, filed Oct. 31, 2023, the content of which is hereby incorporated by reference in its entirety.
| Number | Date | Country | |
|---|---|---|---|
| 63594557 | Oct 2023 | US |