Patent Description:
There are many different types of mobile work machines. Examples include, but are not limited to, agricultural machines, construction machines, turf management machines, forestry machines, among others. Some examples of agricultural machines include sprayers, tractors, harvesters, planters, seeders, to name a few. Many of these machines include a suspension system having components such as springs (e.g., air springs, etc.), shock absorbers, and other linkages that connect the machine to wheels, tracks, or other ground-engaging elements.

Known from <CIT> Al is a system, apparatus and method for providing task-specific ride-height control in a self-propelled agricultural product applicator utilizing a controllable ride-height trailing arm suspension system for independently joining each wheel to a frame of the applicator. Each trailing arm suspension system includes upper and lower suspension arms, an extensible air strut, and an angular position sensor operatively interconnected to one another and disposed between a rolling axis of the ground engaging wheel independently supported by that suspension system and a point of attachment of the suspension system to the frame, such that the position sensor detects a relative angular position between the upper and lower suspension arms at a present extension of the air strut. An electronic control unit utilizes the angular positions detected by the sensors, in conjunction with a desired task input, to control the air struts in a manner providing a ride-height corresponding to the desired task input.

Furthermore, <CIT> Al discloses a mobile spraying machine and a control method for such. The mobile spraying system comprises a sensor that generates a sensor signal indicative of ozone gas concentration.

<CIT> discloses a suspension control system for dynamically adjusting pistons located proximal to wheels of an agricultural machine to substantially equalize distribution of weight of the machine at each wheel and/or to provide a substantially constant desired orientation of the machine above a ground surface thereby protecting laterally extending sprayer booms from contacting the ground. Articulation, pitch, roll and/or machine height can be determined from piston measurements on the machine to apply such height corrections. For sprayers, this allows controlling clearance and suspension height to maintain the boom parallel to the ground to prevent damage.

An agricultural machine includes a frame, a ground-engaging element, a suspension system that movably supports the frame relative to the ground-engaging element, wherein the suspension system is configured to apply, for a given displacement of the frame relative to the ground-engaging element, a force based on a force-to-displacement relationship. A control system is configured to receive an input indicative of an operational state of the agricultural machine during operation on a terrain, and automatically control the suspension system to adjust the force-to-displacement relationship of the suspension system based on the operational state.

This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.

The present description generally relates to suspension systems for mobile work machines. More specifically, but not by limitation, the present description relates to a control system that adjusts or tunes an agricultural machine suspension based on detecting a state of the machine or environment during operation of the machine.

There are many different types of mobile work machines that utilize suspension systems. Examples include, but are not limited to, agricultural machines, construction machines, turf management machines, forestry machines, among others. Some examples of agricultural machines include sprayers, tractors, harvesters, planters, seeders, to name a few. For sake of illustration, but not by limitation, the present disclosure will be provided in the context of an agricultural sprayer or spraying machine. However, it will be understood that the present features can be utilized with other types of agricultural machines, as well as other types of mobile work machines.

<FIG> illustrates an agricultural spraying machine (or agricultural sprayer) <NUM>. Sprayer <NUM> includes a spraying system <NUM> having a tank <NUM> containing a liquid that is to be applied to field <NUM>. Tank <NUM> is fluidically coupled to spray nozzles <NUM> by a delivery system comprising a set of conduits. A fluid pump is configured to pump the liquid from tank <NUM> through the conduits through nozzles <NUM>. Spray nozzles <NUM> are coupled to, and spaced apart along, boom <NUM>. Boom <NUM> includes arms <NUM> and <NUM> which can articulate or pivot relative to a center frame <NUM>. Thus, arms <NUM> and <NUM> are movable between a storage or transport position and an extended or deployed position (shown in <FIG>).

In the example illustrated in <FIG>, sprayer <NUM> comprises a towed implement <NUM> that carries the spraying system, and is towed by a towing or support machine <NUM> (illustratively a tractor) having an operator compartment or cab <NUM>. Sprayer <NUM> includes a set of traction elements, such as wheels <NUM>. The traction elements can also be tracks, or other traction elements as well. It is noted that in other examples, sprayer <NUM> is self-propelled. That is, rather than being towed by a towing machine, the machine that carries the spraying system also includes propulsion and steering systems.

<FIG> illustrates one example of an agricultural sprayer <NUM> that is self-propelled. That is, sprayer <NUM> has an on-board spraying system <NUM>, that is carried on a machine frame <NUM> having an operator compartment <NUM>, a steering system <NUM> (e.g., wheels or other traction elements), and a propulsion system <NUM> (e.g., internal combustion engine).

<FIG> illustrates one example of an agricultural spraying machine architecture <NUM> having an agricultural spraying machine <NUM> configured to perform a spraying operation on an agricultural field. Examples of agricultural spraying machine <NUM> include, but are not limited to, sprayers <NUM> and <NUM> illustrated in <FIG> and <FIG>. Accordingly, machine <NUM> can comprise a towed implement or machine <NUM> can be self-propelled. <FIG> includes a dashed box <NUM> representing a towing machine, such as a tractor that is coupled to machine <NUM> through one or more links <NUM> (electrical, mechanical, pneumatic, etc.).

A control system <NUM> is configured to control components and systems of machine <NUM>. For instance, control system <NUM> includes a communication controller <NUM> configured to control a communication system <NUM> to communicate between components of machine <NUM> and/or with other systems, such as remote computing system <NUM> over a network <NUM>. Network <NUM> can be any of a wide variety of different types of networks such as the Internet, a cellular network, a local area network, a near field communication network, or any of a wide variety of other networks or combinations of networks or communication systems.

A remote user <NUM> is shown interacting with remote computing system <NUM>. Remote computing system <NUM> can be a wide variety of different types of systems. For example, remote computing system <NUM> can be a remote server environment that is used by remote user <NUM>. Further, remote computing system <NUM> can be a mobile device, remote network, or a wide variety of other remote systems. Remote computing system <NUM> can include one or more processors or servers, a data store, and other items as well.

Communication system <NUM> can include wireless communication logic, which can be substantially any wireless communication system that can be used by the systems and components of machine <NUM> to communicate information to other items, such as between computing system <NUM>, sensor(s) <NUM>, and controllable subsystems <NUM>. In one example, communication system <NUM> communicates over a controller area network (CAN) bus (or another network, such as an Ethernet network, etc.) to communicate information between those items. This information can include the various sensor signals and output signals generated by the sensor variables and/or sensed variables.

Control system <NUM> is configured to control interfaces, such as operator interface(s) <NUM> that include input mechanisms configured to receive input from an operator <NUM> and output mechanisms that render outputs to operator <NUM>. The user input mechanisms can include mechanisms such as hardware buttons, switches, joysticks, keyboards, etc., as well as virtual mechanisms or actuators such as a virtual keyboard or actuators displayed on a touch sensitive screen. The output mechanisms can include display screens, speakers, etc..

Sensor(s) <NUM> can include any of a number of different types of sensors. In the illustrated example, sensor(s) <NUM> include environmental sensor(s) <NUM> configured to sense characteristics of the environment in which machine <NUM> is operating, machine configuration or operational state sensor(s) <NUM> configured to sense configuration or operational characteristics of machine <NUM>, and can include other sensor(s) <NUM> as well.

Example environmental sensor(s) <NUM> include weather sensors, such as wind speed and/or direction sensor(s) <NUM>, terrain sensor(s) <NUM>, and can include other sensor(s) <NUM>. Sensor(s) <NUM> are configured to sense a wind speed and/or direction on the field during operation of machine <NUM>. Terrain sensor(s) <NUM> are configured to sense characteristics of the field over which machine <NUM> is currently traveling or about to travel. For instance, sensor(s) <NUM> can detect the topography of the field to determine the degree of slope of various areas of the field, detect a boundary of the field, detect obstacles or other objects on the field (such as rocks, trees, etc.), among other things. In one example, one or more of sensor(s) <NUM> comprise an imaging system having image capture components configured to capture images and image processing components configured to process those images. In one example, image capture components include a stereo camera configured to capture video of the field being operated upon. An example stereo camera captures high definition video at thirty frames per second (FPS) with one hundred and ten degree wide-angle field of view. Of course, this is for sake of example only.

Example machine configuration or operational state sensor(s) <NUM> include boom position and/or height sensor(s) <NUM>, boom and/or frame movement sensor(s) <NUM>, tread adjust sensor(s) <NUM>, machine weight sensor(s) <NUM>, material tank level sensor(s) <NUM>, machine attitude sensor(s) <NUM>, geographic position sensor(s) <NUM>, and can include other sensor(s) <NUM> as well.

Sensor(s) <NUM> are configured to sense the current position and/or height of the boom of machine <NUM>. Sensor(s) <NUM> are configured to sense movement of the boom. The sensors can be mounted on the boom, mounted on the frame that the boom is coupled to, or positioned otherwise. The sensors can include any suitable type of sensors including, but not limited to, accelerometers, gyroscopes, IMUs, to name a few.

Tread adjust sensor(s) <NUM> are configured to detect machine tread width settings. This is discussed in further detail below. Machine weight sensor(s) <NUM> are configured to generate a sensor signal indicative of a weight of machine <NUM>, or a portion thereof. The signal can be utilized as an indication of load carried by the ground-engaging elements (e.g., wheels, tracks, etc.) of machine <NUM>. In one example, sensor(s) <NUM> include one or more material tank weight sensor(s) <NUM> configured to generate sensor signals indicative of a weight of material in material tank(s) on machine <NUM>. Thus, control system <NUM> can determine the weight of material tank(s) by directly sensing the load. Alternatively, or in addition, control system <NUM> can determine the weight of a material tank based on sensor signals from material tank level sensor <NUM>.

Geographic position sensor(s) <NUM> include location sensor(s) <NUM>, heading/speed sensor(s) <NUM>, and can include other sensor(s) <NUM> as well. Location sensor(s) <NUM> are configured to determine a geographic position of the machine <NUM> on the field. Location sensor(s) <NUM> can include, but are not limited to, a Global Navigation Satellite System (GNSS) receiver that receives signals from a GNSS satellite transmitter. Location sensor(s) <NUM> can also include a Real-Time Kinematic (RTK) component that is configured to enhance the precision of position data derived from the GNSS signal.

Sensor(s) <NUM> are configured to determine a speed at which machine <NUM> is traversing the field during the spraying operation. Sensor(s) <NUM> can be configured to sense the movement of ground-engaging elements (e.g., wheels or tracks) and/or can utilize signals received from other sources, such as location sensor(s) <NUM>.

Controllable subsystems <NUM> illustratively include a spraying subsystem <NUM>, boom position subsystem <NUM>, a propulsion subsystem <NUM>, a steering subsystem <NUM>, a suspension subsystem <NUM>, a tread adjustment subsystem <NUM>, and can include other subsystems <NUM> as well.

Spraying subsystem <NUM> includes one or more pumps <NUM> configured to pump material from tanks <NUM> through conduits to nozzles <NUM> mounted on the boom. Spraying subsystem <NUM> can include other items <NUM> as well.

Boom position subsystem <NUM> is configured to move the boom from a storage or transport position to a deployed position. In one example, boom position subsystem <NUM> includes actuators that are coupled to the boom and pivot the boom relative to a center or main frame. Propulsion subsystem <NUM> is configured to propel machine <NUM> across the field. Propulsion subsystem <NUM> can include a power source, such as an internal combustion engine, and a set of ground-engaging elements, such as wheels or tracks. Steering subsystem <NUM> configured to control the heading of the machine, by steering the ground-engaging elements. Suspension subsystem <NUM> is coupled to and supports the machine relative to the ground-engaging elements. Suspension subsystem <NUM> operably couples a frame of machine <NUM> to the ground-engaging elements (e.g., wheels, tracks, etc.). Suspension subsystem <NUM> includes one or more biasing elements, such as springs (e.g., mechanical springs, air springs, etc.), configured to apply a biasing force against the frame, which sets suspension system <NUM> at a particular stiffness and/or machine <NUM> at a particular ride height. That is, the biasing force of suspension subsystem <NUM> defines the stiffness of the ride experienced by operator <NUM> as the machine traverses the terrain. Suspension subsystem <NUM> can also include shock absorbers and other linkages that connects machine <NUM> to the ground-engaging elements.

Tread adjustment subsystem <NUM> is configured to controllably adjust the tread width of machine <NUM>. For example, machine <NUM> can include movable axels that allow the width of the ground engaging elements (e.g., wheels, tracks, etc.) to be aligned to the width of the crop rows in the field being operated upon. In some instances, suspension performance can be significantly impacted by tread width adjustments. Tread adjust sensor(s) <NUM> are configured to generate sensor signals indicative of the tread width (e.g., ground-engaging element position) by directly sensing the ground-engaging elements and/or detecting operation of tread adjustment subsystem <NUM>.

As illustrated in <FIG>, control system <NUM> includes a machine velocity controller <NUM> configured to control the velocity of machine <NUM> by generating control signals for propulsion subsystem <NUM>. Control system <NUM> also includes a machine suspension controller <NUM> configured to control suspension subsystem <NUM>, discussed in further detail below, and can include other items <NUM> as well.

Machine <NUM> includes a data store <NUM> configured to store data for use by machine <NUM>, such as field data <NUM> and/or suspension settings data <NUM>. Examples of field data <NUM> include field location data that identifies a location of the field to be operated upon by machine <NUM>, field shape information that identifies a shape of the field, and field topology data that defines the topology of the field. Examples of suspension settings data <NUM> include a selected or desired ride height and/or biasing force factors for suspension subsystem <NUM> correlated to particular terrain locations and/or operational settings or characteristics. For example, a user can set desired stiffness, damping, and/or ride-height settings for different in-field operations and on-road (or transport) operations. Data store <NUM> can store other items <NUM> as well.

Machine <NUM> is also illustrated as including one or more processors or servers <NUM>, and can include other items <NUM> as well.

As also illustrated in <FIG>, where a towing machine <NUM> tows agricultural spraying machine <NUM>, towing machine <NUM> can include some of the components discussed above with respect to machine <NUM>. For instance, towing machine <NUM> can include some or all of sensor(s) <NUM>, component(s) of control system <NUM>, and some or all of controllable subsystems <NUM>. Also, towing machine <NUM> can include a communication system <NUM> configured to communicate with communication system <NUM>, one or more processors or servers <NUM>, a data store <NUM>, and can include other items <NUM> as well.

Machine suspension controller <NUM> of control system <NUM> is configured to control suspension subsystem <NUM> based on a configuration or operational state of machine <NUM>. Signals from sensors <NUM> indicate detected operational characteristics, such as, but not limited to, current and/or future machine speed, machine attitude or rotation, changes due to terrain characteristics, terrain objects, weather conditions, loading, speed, etc. As discussed in further detail below, the detected operational characteristics can be based on one or more of a priori data collected by control system <NUM> or in situ data generated based on sensor inputs, as well as user-defined parameters or other inputs.

<FIG> is a block diagram illustrating one example of machine suspension controller <NUM> that includes suspension system control logic <NUM> configured to receive one or more inputs such as, but not limited to, a priori data <NUM>, in situ data <NUM>, and/or operator inputs <NUM> from operator <NUM> through operator interfaces <NUM>. A priori data <NUM> can be geo-referenced to locations in the field (or other terrain) upon which machine <NUM> is operating and can represent any of a variety of different operational states, such as machine configurations, commanded movements, environmental conditions, etc. This is discussed in further detail below. Illustratively, a priori data <NUM> is generated prior to the current operation of machine <NUM>. The data can be generated by machine <NUM>, or another machine or system (e.g., system <NUM>). One example includes a terrain or field map that identifies field characteristics, such as slope, soil condition, to name a few. Also, received map data can identify a projected or planned machine path, etc. For example, map data can identify headland turns in the field for the current machine operation. In another example, map data can identify turns along a roadway being traveled by the machine.

In situ data <NUM> includes data generated based on sensor signals obtained during the current operation of machine <NUM>. For example, this data is obtained concurrently with operation of machine <NUM> based on sensor signals generated by sensors <NUM>. The in situ data <NUM> can represent any of a variety of operational states related to the current operation of machine <NUM>. Examples include environmental characteristics, such as weather conditions, terrain conditions or topology, to name a few. Also, the in situ data can represent a configuration of machine <NUM>, such as configurations of controllable subsystems <NUM>. One example includes an indication as to whether the spray booms of spraying subsystem <NUM> are in a deployed position or a stowed/transport position. Further, the in situ data can represent a speed or heading of machine <NUM>, machine attitude, material levels, machine weight, etc. Operator inputs <NUM> can indicate suspension settings provided by operator <NUM> through operator interfaces <NUM>.

Controller <NUM> includes suspension settings data generator logic <NUM>, suspension settings data correlation logic <NUM>, one or more processors <NUM>, and can include other items <NUM> as well. Suspension settings data generation logic <NUM> is configured to generate suspension settings data <NUM> based on the inputs received by controller <NUM>. For example, as discussed in further detail below, suspension settings can define a particular force-to-displacement relationship (e.g., the spring rate or constant, or stiffness) of suspension subsystem <NUM>.

At this point, it may be worth noting that suspension subsystem <NUM> can have a number of independently controllable sections. In the case of machine <NUM> having a pair of front ground-engaging elements (e.g., wheels, tracks, etc.) and a pair of rear ground-engaging elements, suspension subsystem <NUM> can have a single controllable section that jointly controls the spring rate or stiffness of the suspension coupling all four ground-engaging elements. In another example, suspension subsystem <NUM> includes a pair of controllable sections, that being a first or front controllable section for the pair of front-ground engaging elements and a second or rear controllable section for the rear ground-engaging elements. In yet another example, suspension subsystem <NUM> can have four controllable sections, each corresponding to one of the ground-engaging elements. In this way, the spring rate or stiffness of the suspension coupling each ground-engaging element is independently controllable of the other ground-engaging elements. In either case, each controllable section of suspension subsystem <NUM> corresponds to one or more of the ground-engaging elements of machine <NUM>.

Logic <NUM> illustratively includes geo-referencing logic <NUM> configured to correlate or map suspension settings data <NUM> to particular geographic locations. In this way, the suspension settings data <NUM> can be utilized during subsequent operation of machine <NUM>, to control suspension subsystem <NUM> based on the suspension settings data <NUM>. For example, geo-referenced suspension settings data can indicate automatic and/or operator selected adjustments made to the suspension settings (i.e., for one or more controllable sections of suspension subsystem <NUM>) during a prior operation of machine <NUM> on a field. Suspension settings data <NUM> maps these suspension settings to the corresponding locations on the field at which they were used. Suspension settings data <NUM> can be stored in data store <NUM>, as indicated at suspension settings data <NUM>.

Control logic <NUM> generates suspension control signals <NUM> to implement the suspension settings. The control signals <NUM> are provided to control suspension subsystem <NUM>. As noted above, suspension control signals <NUM> can correspond to multiple different independently controllable sections of suspension subsystem <NUM>. That is, a suspension control signal <NUM> can set different spring rate or stiffness settings for one or more of the ground-engaging elements.

Accordingly, rather than using a predefined or present tuning (e.g., operating at a nominal vehicle ride height with a fixed suspension response or stiffness), suspension system <NUM> is dynamically adjustable during operation to accommodate changes in operational states (environmental and/or machine configuration). This can improve performance of the machine. For sake of illustration, the case of an example agricultural sprayer, precise application of the agricultural product (e.g., liquid fertilizer, herbicide, etc.) is important to achieve a desired level of effectiveness. If the product is unevenly applied, the product is wasted in areas of over-application, and areas of under-application can experience reduced yields. As the sprayer traverses across the field, disturbances such as changes in wheel height due to ground level changes, impact with objects (such as rocks, trees, etc.), machine turns, and/or wind can induce movement in the boom, which can have undesirable effects on the boom position and orientation, and adversely affect the spraying performance. For example, the disturbances can change the vertical position of the nozzles, and thus the distance of the nozzles to the dispersal area in the field. Also, the dynamic adjustment can improve operator experience. A suspension that is tuned for a soft ride in rough field terrain may be too soft for during on-road transport, and vice versa. For instance, when traveling on-road, narrow winding roads or tight corners can result in a high degree of chassis roll which can be uncomfortable for operator <NUM>.

<FIG> illustrates one example of a controllable section <NUM> of suspension subsystem <NUM>. As shown, a ground-engaging element <NUM> (illustratively a wheel) is mounted to a hub driven by a shaft (not shown in <FIG>). The hub is carried on a pivotable assembly <NUM>, that is pivotably coupled to frame <NUM> at connection <NUM>. Rotation of assembly <NUM> is controlled by steering subsystem <NUM>.

Section <NUM> is configured to apply a force, generally represented by arrow <NUM>, for a given displacement of frame <NUM> relative to element <NUM>. The applied force is a function of a force-to-displacement relationship defined by the configuration of section <NUM>. In the illustrated example, section <NUM> includes an air spring <NUM> operably positioned between the hub and frame <NUM>. An air spring refers to a component that is pneumatically driven to create a force in relation to deflection or displacement of the air spring. Examples include, but are not limited to, an air bag or air bellows. Movement of element <NUM> is constrained by rods or pistons <NUM> that are moveably disposed within cylinders <NUM> formed in assembly <NUM>. As discussed in further detail below, the force-to-displacement relationship of air spring <NUM> is controlled by increasing or decreasing the volume of air within the air spring <NUM> through control of a source of pressurized air, such as an air pump or compressor.

<FIG> is a graph illustrating the spring rate curve of air spring <NUM>, in one example. As shown in <FIG>, air spring <NUM> has a non-linear relationship between force and displacement, or changes in the air spring height. To illustrate, for air spring heights that are lower (to the left on the x axis), air spring <NUM> has a higher spring rate, resulting in increased stiffness, whereas higher spring height (to the right on the x axis) have lower spring rates or a softer (less stiff) suspension performance.

In accordance with one example, suspension subsystem <NUM> has a plurality of air spring height adjustment points between a maximum height (represented at reference numeral <NUM>) and a minimum height (represented at reference numeral <NUM>). Illustratively, two adjustment points (i.e., dual ride height adjustments) are provided. Of course, more than two adjustment points can be provided by machine suspension controller <NUM>.

Machine suspension controller <NUM> is configured to adjust the pressure in air spring <NUM> to achieve a first nominal air spring height (represented at reference numeral <NUM>). Based on inputs during operation of machine <NUM>, machine suspension controller <NUM> is configured to reduce the pressure in air spring <NUM> to achieve a second nominal air spring height (represented at block reference numeral <NUM>). One example of a pneumatic system for achieving adjustments to suspension subsystem <NUM> is discussed below with respect to <FIG>. Briefly, however, the first nominal air spring height <NUM> resides at or near the mid-span position between the maximum height <NUM> and minimum height <NUM>. This, of course, is for sake of example only. Here, air spring <NUM> allows a range of travel above and below the first nominal height <NUM> when suspension subsystem <NUM> is configured at the first ride height set point. For example, air spring <NUM> allows four inches of travel above and below the first set point.

Further, in the illustrated example, the second nominal height <NUM> is approximately two inches below the first set point <NUM>. Here, air spring <NUM> also allows a range of travel above and below the second set point, with an increased spring rate or stiffness.

<FIG> is a schematic diagram illustrating pneumatic circuitry of suspension subsystem <NUM>, in one example. As shown, suspension subsystem <NUM> has a plurality of controllable sections <NUM>, <NUM>, <NUM>, and <NUM>. For sake of discussion, section <NUM> will be described in further detail. It is noted that sections <NUM>, <NUM>, and <NUM> can include similar components as section <NUM>.

Section <NUM> includes an air spring <NUM> (illustratively an air bag). A compressor <NUM> is driven by a motor <NUM> to provide pressurized airflow along a valve supply or inlet line <NUM>. A dual ride height suspension valve <NUM> is actuated by pilot pressure applied by actuation of a two-position, three-way valve <NUM>. This changes the suspension height control from the primary control valve to the secondary control valve. Under control from the second nominal height control valve, the suspension height is driven to the second nominal height position at which the slope of the spring rate curve is different than that at the first nominal height.

<FIG> and <FIG> (collectively referred to as <FIG>) is a flow diagram <NUM> illustrating an example operation to control a suspension system of an agricultural machine. For sake of illustration, but not by limitation, <FIG> will be described in the context of machine suspension controller <NUM> controlling suspension subsystem <NUM> of machine <NUM>, illustrated in <FIG>.

At block <NUM>, control system <NUM> determines that machine <NUM> is operating on a particular terrain. This can include detecting a current geographic location at block <NUM> and determining a machine path at block <NUM>. For example, control system <NUM> can receive operator inputs that identify a field under operation along with a field plan for traversing the field during the operation.

At block <NUM>, control system <NUM> identifies a current configuration of each controllable section of suspension subsystem <NUM>. As discussed above, suspension subsystem <NUM> can include one or more controllable section, where each controllable section includes one or more ground-engaging elements.

In one example, the current configuration can be determined based on manual operator input at block <NUM>. For example, operator <NUM> can set the stiffness of suspension subsystem <NUM>. In another example, a sensor input can be received from sensors <NUM> which indicate current settings of suspension subsystem <NUM>. The configuration indicates the current force-to-displacement relationship, or spring rate, of each controllable section. This is represented at block <NUM>. Alternatively, or in addition, the configuration can indicate the ride height at block <NUM>, damper and/or shock absorber settings at block <NUM>, and can indicate other configurations as well. This is represented at block <NUM>.

At block <NUM>, one or more operational states of machine <NUM> are detected. In one example, the operational states indicate environmental conditions, which is represented at block <NUM> and can include receiving a priori data (block <NUM>) and/or in situ data (block <NUM>). The environmental conditions can indicate terrain characteristics, which is represented at block <NUM>. For example, the terrain characteristics can indicate a terrain topology map received by machine <NUM> or generated based on input from sensors <NUM>. Alternatively, or in addition, the terrain conditions can indicate soil conditions, such as moisture content, etc. Also, the environmental conditions can indicate weather conditions (block <NUM>), and can indicate other conditions as well. This is represented at block <NUM>.

Also, the operational states detected at <NUM> can indicate machine configuration at block <NUM>. Again, this can be based on a priori data (block <NUM>) and/or in situ data (block <NUM>). The machine configuration can indicate the current and/or future attitude or rotation of machine <NUM> about three orthogonal axes (i.e., pitch, roll, yaw) as the machine traverses the terrain (block <NUM>). The machine configuration can also indicate the current or future speed of machine <NUM>. This is represented at block <NUM>. Also, the machine configuration can indicate particular configurations of subsystems <NUM>. This is represented at block <NUM>. For example, block <NUM> can indicate a current position of the spray boom, that is whether the spray boom is in a deployed or stowed/transport position. In another example, the machine configuration indicates the weight of machine <NUM> or portions thereof. For instance, a signal from material tank level sensor <NUM> indicates the amount of material in material tank <NUM>, which can be utilized to determine an estimated weight of machine <NUM>. In another example, the machine configuration indicates the configuration of tread adjustment subsystem <NUM>. Of course, other machine configurations can be detected as well. This is represented at block <NUM>.

At block <NUM>, an adjustment to the configuration of each controllable section of suspension subsystem <NUM> is determined. In one example, the determined adjustment is performed automatically, based on the detected operational states, detected at block <NUM>. This is represented at block <NUM>. In one example, the determined adjustment comprises a change to the force-to-displacement relationship, at block <NUM>. For example, the spring rate of an air spring in the controllable section is determined.

Alternatively, or in addition, the adjustment can comprise a change to the ride height at block <NUM>. In the example above, a change in ride height is proportional, or otherwise related to, the change to the force-to-displacement relationship at block <NUM>. Also, the adjustment can comprise a change to damper and/or shock settings, at block <NUM>. In one example, adjustable dampers can be deployed in the controllable section. Control orifices on the damper can be adjusted to change the damping force applied by suspension subsystem <NUM>.

The adjustment can be determined based on operator input, at block <NUM>. For example, operator <NUM> can enter desired suspension stiffness settings through operator interfaces <NUM>. The adjustment to the configuration can be determined in other ways as well. This is represented at block <NUM>.

At block <NUM>, suspension settings data is generated by suspension settings data generator logic <NUM>, discussed above with respect to <FIG>. This data can be stored at block <NUM>, such as in data store <NUM>. Alternatively, or in addition, the suspension settings data can be sent to a remote system, such as remote system <NUM>. This is represented at block <NUM>. Of course, the suspension settings data can be generated and/or utilized in other ways as well. This is represented at block <NUM>.

At block <NUM>, suspension system control logic <NUM> generates suspension control signals <NUM> to control suspension subsystem <NUM>. With respect to the example illustrated in <FIG>, control signals <NUM> control actuation of valve <NUM> to apply pilot pressure to dual ride height suspension valve <NUM>, which operates to change the suspension height control from the primary control valve to the secondary control valve. Under control from the secondary height control valve, the suspension height is driven to the secondary nominal height position at which the slope of the spring rate curve is different than at the primary nominal height. Upon removal of the pilot pressure at the suspension height control valves, the suspension is returned to the primary nominal ride height with the corresponding suspension performance. If, at block <NUM>, operation of machine <NUM> is continued, operation returns to block <NUM>.

It can thus be seen that the present system provides a number of advantages. For example, but not by limitation, the present control system controls an agricultural machine suspension system based on the configuration or operational state of the machine, which can be based on geo-referenced a priori data as well as in situ data captured by on-board sensors of the machine. Using the detected operational states of the machine, automatic adjustments can be made to the force-to-displacement relationship of the suspension system. For example, the ride height of an air spring suspension is adjusted to change the stiffness of the suspension which can improve the performance of the machine operation as well as improve the operator experience.

The present discussion has mentioned processors, processing systems, controllers and/or servers. In one example, these can 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.

Alternatively, or in addition, input devices are configured to detect gesture commands to control the machine.

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

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

<FIG> also depicts another example of a remote server architecture. <FIG> shows that it is also contemplated that some elements of <FIG> are disposed at remote server location <NUM> while others are not. By way of example, data store <NUM> can be disposed at a location separate from location <NUM>, and accessed through the remote server at location <NUM>. Alternatively, or in addition, system <NUM> can be disposed at location(s) separate from location <NUM>, and accessed through the remote server at location <NUM>.

Regardless of where they are located, they can be accessed directly by agricultural machine <NUM>, through a network (either a wide area network or a local area network), they can be hosted at a remote site by a service, or they can be provided as a service, or accessed by a connection service that resides in a remote location. Also, the data can be stored in substantially any location and intermittently accessed by, or forwarded to, interested parties. For instance, physical carriers can be used instead of, or in addition to, electromagnetic wave carriers. In such an example, where cell coverage is poor or nonexistent, another mobile machine (such as a fuel truck) can have an automated information collection system. As the agricultural machine comes close to the fuel truck for fueling, the system automatically collects the information from the machine or transfers information to the machine using any type of adhoc 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 agricultural machine until the agricultural machine enters a covered location. The agricultural machine, itself, can then send and receive the information to/from the main network.

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

<FIG> is a simplified block diagram of one illustrative example of a handheld or mobile computing device that can be used as a user's or client's handheld device <NUM>, in which the present system (or parts of it) can be deployed. For instance, a mobile device can be deployed in the operator compartment of agricultural machine <NUM> or as remote system <NUM>. <FIG> are examples of handheld or mobile devices.

<FIG> provides a general block diagram of the components of a client device <NUM> that can run some components shown in <FIG>, that interacts with them, or both. In the device <NUM>, a communications link <NUM> is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning. Examples of communications link <NUM> include allowing communication though one or more communication protocols, such as wireless services used to provide cellular access to a network, as well as protocols that provide local wireless connections to networks.

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

I/O components <NUM>, in one example, are provided to facilitate input and output operations. I/O components <NUM> for various embodiments of the device <NUM> can include input components such as buttons, touch sensors, optical sensors, microphones, touch screens, proximity sensors, accelerometers, orientation sensors and output components such as a display device, a speaker, and or a printer port. Other I/O components <NUM> can be used as well.

Clock <NUM> can also, illustratively, provide timing functions for processor <NUM>.

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

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

<FIG> shows one example in which device <NUM> is a tablet computer <NUM>. In <FIG>, computer <NUM> is shown with user interface display screen <NUM>. Screen <NUM> can be a touch screen or a pen-enabled interface that receives inputs from a pen or stylus. Screen <NUM> can also use an on-screen virtual keyboard. Of course, screen <NUM> might also be attached to a keyboard or other user input device through a suitable attachment mechanism, such as a wireless link or USB port, for instance. Computer <NUM> can also illustratively receive voice inputs as well.

<FIG> is one example of a computing environment in which elements of <FIG>, or parts of it, (for example) can be deployed. With reference to <FIG>, an example system for implementing some embodiments includes a computing device in the form of a computer <NUM>. Components of computer <NUM> may include, but are not limited to, a processing unit <NUM> (which can comprise processors or servers from previous FIGS. ), a system memory <NUM>, and a system bus <NUM> that couples various system components including the system memory to the processing unit <NUM>. The system bus <NUM> may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. Memory and programs described with respect to <FIG> can be deployed in corresponding portions of <FIG>.

Computer storage 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.

The hard disk drive <NUM> is typically connected to the system bus <NUM> through a non-removable memory interface such as interface <NUM>, and optical disk drive <NUM> is typically connected to the system bus <NUM> by a removable memory interface, such as interface <NUM>.

The computer <NUM> 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 <NUM>.

It should also be noted that the different examples described herein can be combined in different ways. That is, parts of one or more examples can be combined with parts of one or more other examples, as follows. An agricultural machine comprises a frame, a ground-engaging element, a suspension system that movably supports the frame relative to the ground-engaging element, wherein the suspension system is configured to apply, for a given displacement of the frame relative to the ground-engaging element, a force based on a force-to-displacement relationship and a control system. The control system is configured to: receive an input indicative of an operational state of the agricultural machine during operation on a terrain, and automatically control the suspension system to adjust the force-to-displacement relationship of the suspension system based on the operational state. The input may comprise geo-referenced terrain data indicative of terrain characteristics of the terrain. The agricultural machine may comprise an agricultural sprayer including a spraying system having a material tank configured to store a material to be sprayed and a set of spray nozzles. The operational state might be indicative of an amount of the material in the material tank. The suspension system may comprise an air spring configured to support the frame relative to the ground-engaging element, and the control system is configured to adjust a spring rate of the air spring based on the operational state. When configured in the force-to-displacement relationship, the suspension system might be positioned at a first ride height, wherein the control system is configured to adjust the force-to-displacemen relationship by changing the suspension system to a second ride height that is different than the first ride height. Changing the suspension system to a second ride height may comprise controlling a height control switching valve to select a control valve from one of a first control valve or a second control valve, wherein the selected control valve controls a flow of pressurized air to the air spring. The input may further comprise in situ data generated based on a sensor signal received during the operation of the agricultural machine. The sensor signal might be generated by an environment sensor associated with the agricultural machine. The sensor signal may represent a geographic location of the agricultural machine. The sensor signal may represent an attitude of the machine. The sensor signal may further represent a configuration of a controllable subsystem of the machine. The input may comprise a priori data generated prior to the operation of the agricultural machine on the terrain.

The method may comprise detecting an operational state of the agricultural machine during an operation on a terrain, wherein the agricultural machine comprises a suspension system that movably supports a frame relative to a ground-engaging element and is configured to apply, for a given displacement of the frame relative to the ground-engaging element, a force based on a force-to-displacement relationship. Further, the method comprises determining an adjustment to the force-to-displacement relationship of the suspension based on the operational state, and controlling the suspension system based on the determined adjustment to the force-to-displacement relationship. The input may comprise geo-referenced terrain data indicative of terrain characteristics of the terrain. The suspension system may comprise an air spring configured to support the frame relative to the ground-engaging element, and controlling the suspension system comprises adjusting a spring rate of the air spring based on the operational state. The sensor signal might be generated by an environment sensor associated with the agricultural machine. The sensor signal may represent a configuration of controllable subsystem of the machine.

Claim 1:
An agricultural machine (<NUM>) comprising:
a frame (<NUM>);
a ground-engaging element (<NUM>);
a suspension system (<NUM>) that movably supports the frame (<NUM>) relative to the ground-engaging element (<NUM>), wherein the suspension system is configured to apply, for a given displacement of the frame (<NUM>) relative to the ground-engaging element (<NUM>), a force based on a force-to-displacement relationship; and
a control system (<NUM>) configured to:
receive an input indicative of an operational state of the agricultural machine (<NUM>) during operation on a terrain; and
automatically control the suspension system (<NUM>) to adjust the force-to-displacement relationship of the suspension system (<NUM>) based on the operational state;
wherein the suspension system (<NUM>) comprises an air spring (<NUM>) configured to support the frame (<NUM>) relative to the ground-engaging element (<NUM>), and the control system (<NUM>) is configured to adjust a spring rate of the air spring (<NUM>) based on the operational state,
characterized in that the input comprises geo-referenced terrain data indicative of terrain characteristics of the terrain.