AUTOMATIC ENCODER CALIBRATION SYSTEM FOR AN AGRICULTURAL VEHICLE

An agricultural vehicle includes a chassis, a plurality of tractive elements, a steering input device configured to steer the agricultural vehicle to perform a turn, and a steering control system configured to operate the steering input device. The chassis includes a first chassis portion and a second chassis portion pivotably coupled to the first chassis portion. The steering control system includes processing circuitry configured to obtain steering condition data corresponding to steering conditions of the steering input device, obtain partial curvature data corresponding to curvatures of the first chassis portion, determine, based on the partial curvature data, curvature data corresponding to curvatures of the agricultural vehicle, generate, based on the steering condition data and the curvature data, a primary curvature model that determines steering condition data given commanded curvature data, and operate the steering input device using (1) the primary curvature model and (2) a given command curvature.

BACKGROUND

The present disclosure relates generally to an agricultural vehicle. More specifically, the present disclosure relates to a steering control system for agricultural vehicles.

SUMMARY

One embodiment relates to an agricultural vehicle. The agricultural vehicle includes a chassis, a plurality of tractive elements, a steering input device configured to steer the agricultural vehicle to perform a turn, and a steering control system configured to operate the steering input device. The chassis includes a first chassis portion and a second chassis portion pivotably coupled to the first chassis portion. Each of the tractive elements are coupled to the first chassis portion or the second chassis portion. The steering control system includes processing circuitry configured to obtain steering condition data corresponding to steering conditions of the steering input device, obtain partial curvature data corresponding to curvatures of the first chassis portion, determine, based on the partial curvature data, curvature data corresponding to curvatures of the agricultural vehicle, generate, based on the steering condition data and the curvature data, a primary curvature model that determines steering condition data given commanded curvature data, and operate the steering input device using (1) the primary curvature model and (2) a given command curvature.

Another embodiment relates to a steering control system configured to operate a steering input device of an agricultural vehicle to perform a turn. The steering control system includes processing circuitry configured to obtain steering condition data corresponding to steering conditions of the steering input device, obtain partial curvature data corresponding to curvatures of a first chassis portion of the agricultural vehicle, determine, based on the partial curvature data, curvature data corresponding to combined curvatures of the first chassis portion and a second chassis portion pivotably coupled to the first chassis portion, generate, based on the steering condition data and the curvature data, a primary curvature model that determines steering condition data given commanded curvature data, and operate the steering input device using (1) the primary curvature model and (2) a given command curvature.

Still another embodiment relates to a method for controlling a steering input device of an agricultural vehicle. The method includes obtaining steering condition data corresponding to steering conditions of the steering conditions of the steering input device, obtaining partial curvature data corresponding to curvatures of a first chassis portion of the agricultural vehicle, determining, based on the partial curvature data, curvature data corresponding to combined curvatures of the first chassis portion and a second chassis portion pivotably coupled to the first chassis portion, generating, based on the steering condition data and the curvature data, a primary curvature model that determines steering condition data given commanded curvature data, and operating the steering input device using (1) the primary curvature model and (2) a given command curvature.

DETAILED DESCRIPTION

Overall Vehicle

As shown inFIGS.1-3, a machine or vehicle, shown as vehicle10, includes a chassis, shown as frame12; a body assembly, shown as body20, coupled to the frame12and having an occupant portion or section, shown as cab30; operator input and output devices, shown as operator interface40, that are disposed within the cab30; a drivetrain, shown as driveline50, coupled to the frame12and at least partially disposed under the body20; a vehicle braking system, shown as braking system92, coupled to one or more components of the driveline50to facilitate selectively braking the one or more components of the driveline50; and a vehicle control system, shown as control system96, coupled to the operator interface40, the driveline50, and the braking system92. In other embodiments, the vehicle10includes more or fewer components.

According to an exemplary embodiment, the vehicle10is an off-road machine or vehicle. In some embodiments, the off-road machine or vehicle is an agricultural machine or vehicle such as a tractor, a telehandler, a front loader, a combine harvester, a grape harvester, a forage harvester, a sprayer vehicle, a speedrower, and/or another type of agricultural machine or vehicle. In some embodiments, the off-road machine or vehicle is a construction machine or vehicle such as a skid steer loader, an excavator, a backhoe loader, a wheel loader, a bulldozer, a telehandler, a motor grader, and/or another type of construction machine or vehicle. In some embodiments, the vehicle10includes an implement system which may include one or more attached implements and/or trailed implements as such as a front mounted mower, a rear mounted mower, a trailed mower, a tedder, a rake, a baler, a plough, a cultivator, a rotavator, a tiller, a harvester, and/or another type of attached implement or trailed implement. The implements of implement system may couple to the front or rear of vehicle10through various means, including, but not limited to, hydraulic hoses, electrical wires, PTO connection, three-point hitch, ball hitch, front forks, etc.

According to an exemplary embodiment, the cab30is configured to provide seating for an operator (e.g., a driver, etc.) of the vehicle10. In some embodiments, the cab30is configured to provide seating for one or more passengers of the vehicle10. According to an exemplary embodiment, the operator interface40is configured to provide an operator with the ability to control one or more functions of and/or provide commands to the vehicle10and the components thereof (e.g., turn on, turn off, drive, turn, brake, engage various operating modes, raise/lower an implement, etc.). The operator interface40may include one or more displays and one or more input devices. The one or more displays may be or include a touchscreen, an LCD display, an LED display, a speedometer, gauges, warning lights, etc. The one or more input device may be or include a steering wheel, a joystick, buttons, switches, knobs, levers, an accelerator pedal, an accelerator lever, a plurality of brake pedals, etc.

According to an exemplary embodiment, the driveline50is configured to propel the vehicle10. As shown inFIG.3, the driveline50includes a primary driver, shown as prime mover52, and an energy storage device, shown as energy storage54. In some embodiments, the driveline50is a conventional driveline whereby the prime mover52is an internal combustion engine and the energy storage54is a fuel tank. The internal combustion engine may be a spark-ignition internal combustion engine or a compression-ignition internal combustion engine that may use any suitable fuel type (e.g., diesel, ethanol, gasoline, natural gas, propane, etc.). In some embodiments, the driveline50is an electric driveline whereby the prime mover52is an electric motor and the energy storage54is a battery system. In some embodiments, the driveline50is a fuel cell electric driveline whereby the prime mover52is an electric motor and the energy storage54is a fuel cell (e.g., that stores hydrogen, that produces electricity from the hydrogen, etc.). In some embodiments, the driveline50is a hybrid driveline whereby (i) the prime mover52includes an internal combustion engine and an electric motor/generator and (ii) the energy storage54includes a fuel tank and/or a battery system.

As shown inFIG.3, the driveline50includes a transmission device (e.g., a gearbox, a continuous variable transmission (“CVT”), etc.), shown as transmission56, coupled to the prime mover52; a power divider, shown as transfer case58, coupled to the transmission56; a first tractive assembly, shown as front tractive assembly70, coupled to a first output of the transfer case58, shown as front output60; and a second tractive assembly, shown as rear tractive assembly80, coupled to a second output of the transfer case58, shown as rear output62. According to an exemplary embodiment, the transmission56has a variety of configurations (e.g., gear ratios, etc.) and provides different output speeds relative to a mechanical input received thereby from the prime mover52. In some embodiments (e.g., in electric driveline configurations, in hybrid driveline configurations, etc.), the driveline50does not include the transmission56. In such embodiments, the prime mover52may be directly coupled to the transfer case58. According to an exemplary embodiment, the transfer case58is configured to facilitate driving both the front tractive assembly70and the rear tractive assembly80with the prime mover52to facilitate front and rear drive (e.g., an all-wheel-drive vehicle, a four-wheel-drive vehicle, a mechanical front-wheel drive, etc.). In some embodiments, the transfer case58facilitates selectively engaging rear drive only, front drive only, and both front and rear drive simultaneously. In some embodiments, the transmission56and/or the transfer case58facilitate selectively disengaging the front tractive assembly70and the rear tractive assembly80from the prime mover52(e.g., to permit free movement of the front tractive assembly70and the rear tractive assembly80in a neutral mode of operation). In some embodiments, the driveline50does not include the transfer case58. In such embodiments, the prime mover52or the transmission56may directly drive the front tractive assembly70(i.e., a front-wheel-drive vehicle) or the rear tractive assembly80(i.e., a rear-wheel-drive vehicle). In some embodiments, the driveline includes a mechanical front-wheel drive assembly (“MFWD”) in which the prime mover52is mechanically coupled to an axle disposed between the front tractive elements78. A mechanical front-wheel drive assembly may be used when the vehicle has rear tractive element88of a different size than the front tractive elements78.

As shown inFIGS.1and3, the front tractive assembly70includes a first drive shaft, shown as front drive shaft72, coupled to the front output60of the transfer case58; a first differential, shown as front differential74, coupled to the front drive shaft72; a first axle, shown front axle76, coupled to the front differential74; and a first pair of tractive elements, shown as front tractive elements78, coupled to the front axle76. In some embodiments, the front tractive assembly70includes a plurality of front axles76. In some embodiments, the front tractive assembly70does not include the front drive shaft72or the front differential74(e.g., a rear-wheel-drive vehicle). In some embodiments, the front drive shaft72is directly coupled to the transmission56(e.g., in a front-wheel-drive vehicle, in embodiments where the driveline50does not include the transfer case58, etc.) or the prime mover52(e.g., in a front-wheel-drive vehicle, in embodiments where the driveline50does not include the transfer case58or the transmission56, etc.). The front axle76may include one or more components.

As shown inFIGS.1and3, the rear tractive assembly80includes a second drive shaft, shown as rear drive shaft82, coupled to the rear output62of the transfer case58; a second differential, shown as rear differential84, coupled to the rear drive shaft82; a second axle, shown rear axle86, coupled to the rear differential84; and a second pair of tractive elements, shown as rear tractive elements88, coupled to the rear axle86. In some embodiments, the rear tractive assembly80includes a plurality of rear axles86. In some embodiments, the rear tractive assembly80does not include the rear drive shaft82or the rear differential84(e.g., a front-wheel-drive vehicle). In some embodiments, the rear drive shaft82is directly coupled to the transmission56(e.g., in a rear-wheel-drive vehicle, in embodiments where the driveline50does not include the transfer case58, etc.) or the prime mover52(e.g., in a rear-wheel-drive vehicle, in embodiments where the driveline50does not include the transfer case58or the transmission56, etc.). The rear axle86may include one or more components. According to the exemplary embodiment shown inFIG.1, the front tractive elements78and the rear tractive elements88are structured as wheels. In other embodiments, the front tractive elements78and the rear tractive elements88are otherwise structured (e.g., tracks, etc.). In some embodiments, the front tractive elements78and the rear tractive elements88are both steerable. In other embodiments, only one of the front tractive elements78or the rear tractive elements88is steerable. In still other embodiments, both the front tractive elements78and the rear tractive elements88are fixed and not steerable.

In some embodiments, the driveline50includes a plurality of prime movers52. By way of example, the driveline50may include a first prime mover52that drives the front tractive assembly70and a second prime mover52that drives the rear tractive assembly80. By way of another example, the driveline50may include a first prime mover52that drives a first one of the front tractive elements78, a second prime mover52that drives a second one of the front tractive elements78, a third prime mover52that drives a first one of the rear tractive elements88, and/or a fourth prime mover52that drives a second one of the rear tractive elements88. By way of still another example, the driveline50may include a first prime mover that drives the front tractive assembly70, a second prime mover52that drives a first one of the rear tractive elements88, and a third prime mover52that drives a second one of the rear tractive elements88. By way of yet another example, the driveline50may include a first prime mover that drives the rear tractive assembly80, a second prime mover52that drives a first one of the front tractive elements78, and a third prime mover52that drives a second one of the front tractive elements78. In such embodiments, the driveline50may not include the transmission56or the transfer case58.

As shown inFIG.3, the driveline50includes a power-take-off (“PTO”), shown as PTO90. While the PTO90is shown as being an output of the transmission56, in other embodiments the PTO90may be an output of the prime mover52, the transmission56, and/or the transfer case58. According to an exemplary embodiment, the PTO90is configured to facilitate driving an attached implement and/or a trailed implement of the vehicle10. In some embodiments, the driveline50includes a PTO clutch positioned to selectively decouple the driveline50from the attached implement and/or the trailed implement of the vehicle10(e.g., so that the attached implement and/or the trailed implement is only operated when desired, etc.).

According to an exemplary embodiment, the braking system92includes one or more brakes (e.g., disc brakes, drum brakes, in-board brakes, axle brakes, etc.) positioned to facilitate selectively braking (i) one or more components of the driveline50and/or (ii) one or more components of a trailed implement. In some embodiments, the one or more brakes include (i) one or more front brakes positioned to facilitate braking one or more components of the front tractive assembly70and (ii) one or more rear brakes positioned to facilitate braking one or more components of the rear tractive assembly80. In some embodiments, the one or more brakes include only the one or more front brakes. In some embodiments, the one or more brakes include only the one or more rear brakes. In some embodiments, the one or more front brakes include two front brakes, one positioned to facilitate braking each of the front tractive elements78. In some embodiments, the one or more front brakes include at least one front brake positioned to facilitate braking the front axle76. In some embodiments, the one or more rear brakes include two rear brakes, one positioned to facilitate braking each of the rear tractive elements88. In some embodiments, the one or more rear brakes include at least one rear brake positioned to facilitate braking the rear axle86. Accordingly, the braking system92may include one or more brakes to facilitate braking the front axle76, the front tractive elements78, the rear axle86, and/or the rear tractive elements88. In some embodiments, the one or more brakes additionally include one or more trailer brakes of a trailed implement attached to the vehicle10. The trailer brakes are positioned to facilitate selectively braking one or more axles and/or one more tractive elements (e.g., wheels, etc.) of the trailed implement.

Fixed Axle Configuration

As shown inFIG.1, the vehicle10may be configured as a fixed axle vehicle (e.g., a fixed chassis vehicle, an Akermann steering vehicle, etc.), according to some embodiments. In the fixed chassis embodiment of the vehicle10, the front axle76is oriented parallel from the rear axle86. For example, the front tractive elements78may be steerable and configured to pivot relative to the front axle76while the rear tractive elements88are fixed relative to the rear axle86and not steerable. In some embodiments, the front axle76is spaced a fixed distance (e.g., a set distance, etc.) from the rear axle86. For example, the position of the front axle76relative to the rear axle86may not change during operation of the vehicle10.

Articulated Chassis Configuration

As shown inFIGS.12and13, the vehicle10may be configured as an articulated chassis vehicle, according to some embodiments. In the articulated chassis embodiment of the vehicle10, the frame12includes a first portion (e.g., a first chassis portion, a front chassis portion, etc.), shown as front frame portion14, and a second portion (e.g., a second chassis portion, a rear chassis portion, shown as rear frame portion16, pivotably coupled to the front frame portion14about an axis, shown as chassis articulation axis AC. During operation of the vehicle10, the rear frame portion16may pivot relative to the front frame portion14about the chassis articulation axis ACsuch that a minimum curvature that the vehicle10can follow during a turn is less than if the rear frame portion16was fixedly coupled to the front frame portion14. The frame12may define an articulation angle γ between a first axis, shown as front frame axis AFextending through the front frame portion14and a second axis, shown as rear frame axis ARextending through the rear frame portion16.

As shown inFIG.13, when the vehicle10is turning, the front frame portion14may follow a first curvature (e.g., a first inverse radius, etc.), shown as front frame curvature CFand the rear frame portion16may follow a second curvature (e.g., a second inverse radius, etc.), shown as rear frame curvature CR. The rear frame curvature CRis offset from the front frame curvature CFsuch that the front frame portion14and the rear frame portion16follow different curvatures when the vehicle10is turning. In some embodiments, the front frame curvature CFis less than the rear frame curvature CR. For example, when a first length, shown as length LF, of the front frame portion14is greater than a second length, shown as length LR, of the rear frame portion16, the front frame curvature CFis less than the rear frame curvature CR. In other embodiments, the front frame curvature CFis greater than the rear frame curvature CR. For example, when the length LFof the front frame portion14is less than the length LRof the rear frame portion16, the front frame curvature CFis greater than the rear frame curvature CR. In still other embodiments, the front frame curvature CFis equal to the rear frame curvature CR. For example, when the length LFof the front frame portion14is equal to the length LRof the rear frame portion16, the front frame curvature CFis equal to the rear frame curvature CR.

As shown inFIGS.12and13, the front axle76and the front tractive elements78are coupled to the front frame portion14and the rear axle86and the rear tractive elements88are coupled to the rear frame portion16such that the rear axle86and the rear tractive elements88may pivot relative to the front axle76and the front tractive elements78during operation of the vehicle10. For example, the prime mover52, the energy storage54, the transmission56, and the transfer case58may be positioned on (e.g., coupled to, supported by, located on, etc.) the front frame portion14, the front drive shaft72may extend from the front output60of the transfer case58through the front frame portion14to the front differential74, and the rear drive shaft82may extend from the rear output62of the transfer case58through the front frame portion14, between the front frame portion14and the rear frame portion16, and through the rear frame portion16to the rear differential84. In some embodiments, a first portion of the body20is coupled to the front frame portion14and a second portion of the body20is coupled to the rear frame portion16. For example, a first portion of the body20having the cab30may be coupled to the front frame portion14and a remainder of the body20may be coupled to the rear frame portion16.

Encoder Automatic Calibration System

Steering System

Referring toFIG.4, the vehicle10may include a steering control system400for a steering system300. The steering system300is operable to adjust an orientation of one or more pairs of tractive elements (e.g., the front tractive elements78, the rear tractive elements88, etc.). The steering control system400may be included in the control system96. In some embodiments, the steering system300is configured to adjust an orientation of the front tractive elements78to perform a turn of the vehicle10. The steering system300may include a steering input device302(e.g., a steering wheel, a rotatable control device, a steering device, a steering input device, a joystick, etc.) and a steering control device304(e.g., a steering control system, etc.). The steering input device302may be included in the operator interface40.

As shown inFIG.8, a steering condition306(e.g., an angle of the steering wheel, a position of the steering input device, etc.) of the steering input device302may be adjusted in order to adjust the orientation of the one or more pairs of tractive elements to complete the turn. The steering input device302may be operable coupled with one or more steering components such as hydraulic components, rack and pinions, etc., in order to turn one or more of the front tractive elements78or the rear tractive elements88to steer the vehicle10. The steering control device304may include hydraulic actuators (e.g., a rack and pinion system), linear electric actuators, pneumatic actuators, hydraulic motors, etc., configured to use a steering control to adjust the steering condition306of the steering input device302in order to adjust the orientation of the one or more pairs of tractive elements to perform the turn. In some embodiments, the steering control device304is an electric motor or electric transducer configured to receive the steering control and adjust the steering condition306of the steering input device302in order to adjust the orientation of the one or more pairs of tractive elements. The steering control device304may be operably coupled with the steering input device302such that the steering control device304implements the steering control to adjust the steering condition306of the steering input device302by adjusting an orientation, an angle, a position, etc., of the steering input device302.

In some embodiments, a relationship between adjusting the steering condition306of the steering input device302and adjusting the orientation of the one or more of the front tractive elements78or the rear tractive elements88to steer the vehicle10may be non-linear (e.g., the adjustment of the one or more of the front tractive elements78or the rear tractive elements88is not proportional to the adjustment of the steering condition306of the steering input device302, etc.). For example, as the steering condition306of the steering input device302is adjusted further away from a center steering position (e.g., a position of the steering input device302that results in the vehicle10driving straight, etc.), the front tractive elements78may turn at a decreasing rate.

In some embodiments, the steering condition306of the steering input device302may be adjusted outside of an operational range that corresponds with a maximum orientation of the one or more of the front tractive elements78or the rear tractive elements88to steer the vehicle10, such that the steering condition306of the steering input device302may be adjusted without adjusting the orientation of the one or more of the front tractive elements78or the rear tractive elements88. For example, the steering condition306of the steering input device302could continue to be adjusted away from the center steering position in a direction after the front tractive elements78have reached a maximum orientation and the orientation of the front tractive elements78can no longer be adjusted any further in the direction. For example, referring toFIG.8, the steering condition306of the steering input device302may be positioned in a center condition that corresponds to the vehicle10traveling straight forward. The steering input device302may include an operational band308(e.g., a center range, etc.) that corresponds with a range that the steering condition306may be adjusted within that results in the adjustment in the orientation of the one or more of the front tractive elements78or the rear tractive elements88to steer the vehicle10. In some embodiments, the adjustment of the steering condition306outside of the operational band308will not result in any adjustment of the orientation of the one or more of the front tractive elements78or the rear tractive elements88. For example, referring toFIG.9, when the steering condition306is outside of the operational band308, any adjustment of the steering condition306that remains outside of the operational band308will not result in any adjustment of the orientation of the one or more of the front tractive elements78or the rear tractive elements88. In some embodiments, the adjustments of the steering condition306of the steering input device302beyond the operational band308may be measured with an angle δ. For example, referring toFIG.9, the steering condition306may be adjusted outside of the operational band308by the angle δ.

The steering system300is operable by a controller402of the steering control system400, according to some embodiments. In some embodiments, the controller402is configured to receive a steering input416from a remote system412(e.g., a remote operating system, etc.) or an operator and provide the steering control to the steering control device304. The steering input416indicates at least one of a desired degree, a desired radius, or a desired rate of turn, or may indicate a commanded curvature of the vehicle10. In some embodiments, the steering input416corresponds to a turn that the vehicle should perform. In some embodiments, the controller402may receive sensor inputs from a sensor that corresponds with the steering input device302. In some embodiments, the sensor inputs may be encoder values (e.g., encoder position, encoder feedback, encoder signals, etc.) from an encoder414that is configured to detect a position, rate of change, etc., of the steering input device302. In some embodiments, the encoder414is a sensor that is provided as a component of the steering control device304. The controller402is configured to use the steering input416to determine and output the steering control to the steering control device304. In some embodiments, referring toFIG.11, the controller402is configured to autonomously operate the steering system300using a primary curvature model420and the steering input416that relates the steering input416to the steering condition306of the steering input device302that would result in the vehicle10performing a route corresponding to a path of the steering input416, and then providing the steering control to the steering control device304that will adjust the steering input device302to the steering condition306. For example, when an operator or operating system provides the steering input416corresponding to a commanded curvature to the controller402, the controller402determines a steering control corresponding to the steering condition306of the steering input device302that results in the vehicle10performing a turn corresponding to the commanded curvature using the primary curvature model420to relate the commanded curvature to the steering condition306. In some embodiments, one or more components of the steering system300are retrofit or “pin-on” components (e.g., a retrofit system, etc.) for existing steering system architecture. For example, the encoder414and the steering control device304may be retrofit components on the steering input device302in order to enable autonomous or remote steering of the vehicle10(in addition to other components to control driveline operations remotely). The controller402is configured to generate the primary curvature model420relating the steering input416to the steering condition306of the steering input device302, in some embodiments. For example, in some embodiments, the controller402takes a machine learning approach to generate the primary curvature model420between the commanded curvature and an encoder value of the encoder414by obtaining the encoder values of the encoder414, obtaining actual curvatures of the vehicle corresponding to the path that is taken by the vehicle10, performing a regression based on the encoder values and the actual curvatures to obtain the primary curvature model420that determines the encoder values of the encoder414that correspond with the commanded curvatures, and then activating the primary curvature model420so that the primary curvature model420may be used to translate the command curvatures into the encoder values of the encoder414. In some embodiments, the primary curvature model420may be used by the controller402to determine steering controls of the steering control device304based on the steering inputs416, as described above. Further, different agricultural vehicles may have different of the steering systems300which can have different primary curvature models relating the steering input416to the steering control device304. Advantageously, the controller402is configured to generate the primary curvature models between the steering inputs416and steering controls for the agricultural vehicles to enhance autonomous control of the steering system300. In some embodiments, referring toFIG.11, the controller402is configured to generate a calibration curvature model430relating the steering input416to the steering condition306of the steering input device302. In some embodiments, the controller402may continue to generate the calibration curvature model430while the controller402is operating the steering input device302using the primary curvature model420and the steering input416.

In some embodiments, the encoder414may continue to generate encoder values corresponding to the steering condition306of the steering input device302when the steering condition306is adjusted outside of the operational band308. For example, referring toFIG.9, the encoder may generate the encoder value that is an angle of the steering input device302outside of the operational band308by the angle δ. When the angle of the steering input device302is outside of the operational band308by the angle δ, an error may develop in the primary curvature model420as the controller402uses the primary curvature model420and the steering input416to operate the steering input device302. In some embodiments, the error may result from a difference between the angle generated by the encoder414and the orientation of the tractive elements of the vehicle10due to the angle generated by the encoder414continuing to adjust when the steering condition306is outside of the operational band308while the orientation of the tractive elements of the vehicle10does not continue to adjust when the steering condition306is outside of the operational band308. For example, referring toFIG.10, if the steering condition306is adjusted outside of the operational band308by the angle δ and returned to the center condition, the error developed by the primary curvature model420may correspond to the angle δ. In some embodiments, the primary curvature model420may be adjusted to eliminate the error resulting from the steering condition306of the steering input device302being adjusted outside of the operational band308. The controller402may also be configured to obtain various sensor data from one or more data source(s)410including the actual curvature of the vehicle10, yaw rate of the vehicle10, forward velocity of the vehicle10, and the commanded curvature of the vehicle10. In some embodiments, the steering input416includes the commanded curvature. In some embodiments, the data source(s)410include various sensors, systems, subsystems, Global Positioning System (GPS), etc., of the vehicle10. In particular, the GPS of the data sources410of the vehicle10may obtain the actual curvature and provide the actual curvature to the controller402and the remote system412.

Referring still toFIG.4, the controller402includes a circuit, shown as processing circuitry404, a processor, shown as processor406, and memory, shown as memory408, according to an exemplary embodiment. Controller402may be implemented as a general-purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a digital-signal-processor (DSP), circuits containing one or more processing components, circuitry for supporting a microprocessor, a group of processing components, or other suitable electronic processing components. According to the exemplary embodiment shown inFIG.4, controller402includes the processing circuitry404and memory408. Processing circuitry404may include an ASIC, one or more FPGAs, a DSP, circuits containing one or more processing components, circuitry for supporting a microprocessor, a group of processing components, or other suitable electronic processing components. In some embodiments, processing circuitry404is configured to execute computer code stored in memory408to facilitate the activities described herein. Memory408may be any volatile or non-volatile computer-readable storage medium capable of storing data or computer code relating to the activities described herein. According to an exemplary embodiment, memory408includes computer code modules (e.g., executable code, object code, source code, script code, machine code, etc.) configured for execution by processing circuitry404. In some embodiments, controller402may represent a collection of processing devices (e.g., servers, data centers, etc.). In such cases, processing circuitry404represents the collective processors of the devices, and memory408represents the collective storage devices of the devices.

It should be understood that any of the functionality, model generation techniques, regression techniques, autonomous controls, model training techniques, controls, etc., of the controller402as described herein with reference toFIGS.4-9may be performed by the remote system412. The remote system412may be similar to the controller402including processing circuitry, processors, memory, etc. In some embodiments, the remote system412and the controller402are communicably coupled with each other via a telematics unit (e.g., a transceiver, a wireless transmitter, a radio, a cellular dongle, etc.) of the vehicle10. In some embodiments, the steering input device302is operably coupled via components of the steering system300similar to or the same as described in U.S. application Ser. No. 17/404,878, filed Aug. 17, 2021, the entire disclosure of which is incorporated by reference herein.

Referring toFIG.5, a flow diagram of a process500for operating a steering input device of an agricultural vehicle includes steps502-504, according to some embodiments. In some embodiments, the process500is performed by the controller402based on data obtained from one or more data sources410(shown inFIG.4) of the vehicle10and the primary curvature model420. In some embodiments, the data sources410as shown inFIG.4include sensors, systems, sub-systems, etc., of the vehicle10.

The process500includes receiving a steering input (e.g., a first input, a commanded input, a turn request, etc.) indicating a curvature to be performed by a vehicle (step502), according to some embodiments. In some embodiments, step502is performed by the controller402by receiving the steering input416from an operator, the remote system412, or another control system. In some embodiments, the curvature is a turn radius for the vehicle. In some embodiments, the curvature is a path that includes multiple turn radii for the agricultural vehicle. For example, the curvature may be a 180 degree turn to change the direction of the agricultural vehicle.

The process500includes operating the steering input device using a primary curvature model of the agricultural vehicle and the steering input (step504), according to some embodiments. For example, an electric motor coupled to a steering wheel may receive a steering control to rotate the steering wheel to a steering condition that would result in the agricultural vehicle performing the turn corresponding to the curvature of the steering input. The electric motor may then rotate the steering wheel to the steering condition that results in the agricultural vehicle performing the turn corresponding to the curvature of the steering input. In some embodiments, step504is performed by the controller402and includes operating the steering input device302using the steering control device304based on the steering control.

In some embodiments, the operation of the steering input device at step504includes feedback from encoder values of the encoder. For example, an electric motor coupled to a steering wheel may receive a steering control associated with a prescribed encoder value of the encoder that would result in the agricultural vehicle performing the turn corresponding to the curvature of the steering input. The electric motor may then rotate the steering wheel until the encoder provides an encoder value that corresponds to the prescribed encoder value. In some embodiments, the operation of the steering input device may be a closed-loop control system that includes feedback from the encoder.

In some embodiments, step504is performed by the controller402and includes modeling the steering input416with the primary curvature model420to generate the steering condition306of the steering input device302that results in the vehicle10performing a turn that corresponds to the curvature of the steering input416. For example, the controller402may model the steering input416including a turn with the primary curvature model to determine an angle of a steering wheel that will result in the vehicle10completing the turn. The controller402may then provide a steering control to the steering control device304that will adjust the steering wheel so that the steering wheel is at the angle that will result in the vehicle10completing the turn. In some embodiments, the primary curvature model includes a non-linear relationship between the steering input and adjustment of the steering condition. For example, tractive elements of the agricultural vehicle may turn at a decreasing rate relative to the adjustment of the steering condition306of the steering input device302as the steering condition306of the steering input device302is adjusted away from a center position.

In some embodiments, the steering control generated at step504corresponds to encoder values of an encoder configured to detect a position, rate of change, etc., of the steering input device. For example, the steering control may correspond to adjusting the steering input device until the encoder detects a control position of the steering input device. In some embodiments, the encoder may be retrofit components on the steering input device. In some embodiments, the encoder values correspond to the encoder414configured to detect a position, rate of change, etc., of the steering input device302.

Primary Curvature Model Generation

Referring toFIGS.4and6, the controller402may be configured to perform a primary curvature model generation process in order to generate and train a primary curvature model of the steering system300for use in control of the steering system300. In some embodiments, the primary curvature model of the steering system300may be generated and trained by being provided with steering conditions of to the steering system300and curvatures of the vehicle. In some embodiments, the primary curvature model of the steering system300is obtained by performing a recursive regression technique in order to identify a polynomial function that achieves a best correlation (e.g., lowest error) between curvatures of a vehicle and estimated curvatures generated by the curvature model.

Referring toFIG.6, a flow diagram of a process600for obtaining a primary curvature model includes steps602-610, according to some embodiments. In some embodiments, the process600is performed by the controller402based on data obtained from one or more data sources410(shown inFIG.4) of the vehicle10to obtain the primary curvature model420. In some embodiments, the process600is performed through a perceptron (e.g., a neural net, a feedforward neural net, a linear neural net, etc.). In some embodiments, the data sources410as shown inFIG.4include sensors, systems, sub-systems, etc., of the vehicle10.

The process600includes obtaining steering condition data corresponding to the steering conditions of the steering input device (step602), according to some embodiments. In some embodiments, the steering condition data relates to the steering condition of the steering input device of the agricultural vehicle. For example, the steering condition data may include angles of a steering wheel of the steering system of the agricultural vehicle, positions of the steering input device, etc. In some embodiments, step602is performed by the controller402by obtaining the steering condition data over a time period (e.g., a learning time period). In some embodiments the steering condition data includes the encoder values of the encoder414of the steering system300. For example, the steering condition data may include encoder values of the encoder414that correspond with the steering condition306of the steering input device302.

In some embodiments, step602may occur during normal operation of the agricultural vehicle (e.g., while the agricultural vehicle is performing a function, operation of the agricultural vehicle outside of a controlled environment, etc.). During normal operation of the agricultural vehicle, an operator may manually adjust a steering condition of a steering input device to adjust an orientation of one or more pairs of tractive elements, resulting in a turn of the agricultural vehicle. For example, the steering condition data of the steering input device may be obtained while an operator is manually controlling the steering input device to operate the agricultural vehicle to perform a function such as plowing a field, baling hay, etc.

In some embodiments, the steering condition data is batched to only include extreme steering conditions (e.g., maximum steering conditions, minimum steering conditions, etc.) and the remaining steering conditions are eliminated from the steering collection data. In some embodiments, the steering condition data is batched by the controller402. For example, the controller402may receive steering conditions from the encoder414. Due to memory size restrictions associated with the vehicle10, the controller402may batch the extreme steering conditions into the steering collection data and eliminate the remaining steering conditions. The controller402may then continue to batch additional extreme steering conditions into the steering collection data over the time period without exceeding the memory size restrictions.

The process600includes obtaining curvature data corresponding to the curvatures of the vehicle (step604), according to some embodiments. In some embodiments, the curvature data relates to actual curvatures of the vehicle (e.g., paths, turns of the vehicle, etc.). In some embodiments, step604is performed by the controller402by receiving an actual curvature taken by the vehicle10that results from the steering condition of the steering input device302over the time period. For example, the controller402may receive a GNSS curvature (e.g., a series of GNSS coordinates forming a curvature, etc.) corresponding to the actual curvature of the vehicle10from a GPS sensor of the vehicle10. In other embodiments, step604is performed by the controller402by receiving sensor data associated with the vehicle10and determining the curvature data corresponding to the curvatures of the vehicle10based on the sensor data. For example, the controller402may receive a GNSS curvature from a GPS sensor positioned on the front frame portion14of the vehicle10. The GNSS curvature may correspond to the front frame curvature CFof the front frame portion14of the vehicle10and the controller402may determine the curvature data corresponding to the curvatures of the vehicle10based on the front frame curvature CF. As another example, the controller402may receive sensor data associated with the driveline50and may determine the curvature data corresponding to the curvatures of the vehicle10based on the sensor data. The controller402may receive data corresponding to a forward travel velocity ν of the vehicle10and a heading rate {dot over (θ)} associated with a rate of change of a heading (e.g., direction, etc.) of the vehicle10and may determine the curvature data corresponding to the front frame curvature CFbased on the equation:

In some embodiments, similar to step602, step604may occur during normal operation of the vehicle. In some embodiments, the curvature data is batched to only include extreme curvatures (e.g., maximum curvatures, minimum curvatures, etc.) and the remaining curvatures are eliminated from the curvature data, similar to the steering condition data obtained in step602.

The process600includes using the steering condition data and the curvature data to obtain a primary curvature model that predicts steering condition data given commanded curvature data (step606), according to some embodiments. In some embodiments, step606includes performing a regression (e.g., a first regression, etc.) based on the steering condition data of the steering input device and the curvature data of the vehicle to generate a primary curvature model of the vehicle. In some embodiments, step606includes feeding the steering condition data of the steering input device and the curvature data of the vehicle into a primary curvature perceptron to generate the primary curvature model as the primary curvature perceptron using machine learning techniques. For example, linear regression techniques may be used to create and train the primary curvature perceptron that predicts the steering condition data given the curvature data.

In some embodiments, step606includes comparing the primary curvature model to the curvature data to generate estimation errors. In some embodiments, the controller402may compare the curvature data of the vehicle10with the primary curvature model generated by the regression to generate estimation errors between the curvature data and the primary curvature model. In some embodiments, the regression includes adjusting the primary curvature model to reduce the estimation errors. In some embodiments, the primary curvature perceptron may train using the estimation errors to improve the primary curvature model.

In some embodiments, the primary curvature model is a primary polynomial function that predicts the steering condition data of the steering input device associated with the commanded curvature data. In some embodiments, referring toFIG.11, the primary curvature model420is a primary polynomial function422that determines values of the steering conditions306of the steering input device302associated with curvatures. In some embodiments, the primary polynomial function is a third-order function (e.g., a third-degree polynomial function, a third-order polynomial equation, etc.). For example, for agricultural vehicles with non-linear relationships between adjusting the steering condition of the steering input device302and adjusting the orientation of the one or more of the tractive elements, a third-order function may more accurately model the relationship between the curvatures and the steering conditions. For example, the primary polynomial function may have the form A1x3+B1x2+C1x+D1=y, where x is the curvature of the agricultural vehicle, y is the steering condition, A1is a weight corresponding to x3, B1is a weight corresponding to x2, C1is a weight corresponding to x, and D1is a constant.

In some embodiments, the primary polynomial function may relate the curvatures of the agricultural vehicle to an encoder value associated with a steering input device. For example, the primary polynomial function may receive commanded curvature data and determine the encoder values of the encoder that that is required such that the agricultural vehicle turns according to the commanded curvature data. In some embodiments, the primary polynomial function may be generated by the controller402to relate the curvature of the vehicle10to the encoder value of the encoder414that corresponds to the steering input device302. For example, the primary polynomial function may receive commanded curvature data for the vehicle10and determine steering condition data of the steering input device302that is required such that the vehicle10turns according to the commanded curvature data.

In some embodiments, an initial form of the primary polynomial function is generated by setting weights corresponding to variables of the primary polynomial function to random values, by setting the weights corresponding to variables of the primary polynomial function to small random values, or using other techniques of creating polynomial functions. For example, the primary polynomial function may have the form Ax3+Bx2+Cx+D=y and the values of A, B, C, and D may be set equal to random values between −1 and 1 to form the initial form of the polynomial function, which provides a starting point for the regression of the polynomial function. In some embodiments, the regression adjusts the primary polynomial function by modifying the constant and the weights corresponding to the variables of the polynomial function. For example, the constant and the weights may be adjusted to reduce the estimation errors by following a method of gradient decent.

The process600includes determining that the primary curvature model has converged (step608), according to some embodiments. In some embodiments, the primary curvature model is considered to have converged after the regression has run for a specified amount of time, after the estimation error is below a predetermined threshold, after the primary curvature model has stabilized, or through other methods of determining convergence for regressions. In some embodiments the predetermined threshold corresponding to the estimation error of the primary curvature model may be set by an operator, be determined by operating conditions, or be selected using a different method. In some embodiments, the predetermined threshold may include a value of the estimation errors, a trend in the estimation errors, the estimation errors holding below a value for a set number of iterations of the primary curvature model, or other methods of determining that the regression has converged based on estimation errors.

The process600includes operating a steering control system using the primary curvature model for a given commanded curvature (step610), according to some embodiments. For example, a steering control system may receive curvature data that includes a commanded curvature for an agricultural vehicle to perform. The steering control system may predict steering condition data for the agricultural vehicle to follow the commanded curvature and operate a steering input device such that the agricultural vehicle performs a turn corresponding to the commanded curvature. In some embodiments, step610may be implemented by performing the process500.

In some embodiments, the steering control system may be partially operated using the primary curvature model for the given command curvature and may partially rely on another means to operate the steering control system (e.g., an operator input, sensors data from the agricultural vehicle, etc.). In some embodiments, step610may include converting the commanded curvature into steering control data using the primary curvature model. In some embodiments, step610may include converting steering control data into encoder values and operating a steering control device to achieve the encoder values. For example, the controller402may convert the steering curvature data into an encoder value of the encoder414and then operate the steering control device304until the encoder generates the encoder value such that the vehicle10performs a turn associated with the commanded curvature. In some embodiments, the controller402may convert the steering curvature data into time-series data of positions of the encoder414and then operate the steering control device304so that the encoder414generates the time-series data of the positions of the encoder414such that the vehicle10performs a turn associated with the commanded curvature.

In some embodiments, step610may include activating the primary curvature model so that the primary curvature model may be used to operate the steering control system. In some embodiments, the primary curvature model may not be used by the vehicle to operate the steering control device of the agricultural vehicle according to the steering inputs until the primary curvature model has been activated. For example, the agricultural vehicle may not be operated by the steering control device receiving steering controls to adjust the steering condition of the steering input device until the primary curvature model has been activated. In some embodiments, step610is performed by the controller402by activating the primary curvature model for the steering system300such that the controller402may receive a commanded curvature and may autonomously turn the vehicle10to follow the commanded curvature. For example, the controller402may not utilize the primary curvature model to generate a steering condition of the steering input device302and an associated steering control for the steering control device304that results in the vehicle10performing a turn based on a commanded curvature until the primary curvature model has been activated.

Calibration Curvature Model Generation

Referring toFIGS.4and7, the controller402may be configured to perform a calibration curvature model generation process in order to obtain a calibration curvature model (e.g., a training curvature model, an adjustment curvature model, etc.) of the steering system300for use in updating the primary curvature model of the steering system300. In some embodiments, the calibration curvature model of the steering system300is obtained by performing a recursive regression technique in order to identify a polynomial function that achieves a best correlation (e.g., lowest error) between curvatures of a vehicle and estimated curvatures generated by the curvature model.

Referring toFIG.7, a flow diagram of a process700for obtaining the calibration curvature model includes steps702-714, according to some embodiments. In some embodiments, the process700is performed by the controller402based on data obtained from one or more data sources410(shown inFIG.4) of the vehicle10to obtain the calibration curvature model430. In some embodiments, the data sources410as shown inFIG.4include sensors, systems, sub-systems, etc., of the vehicle10.

The process700includes operating a steering system of a vehicle for a given commanded curvature using a primary curvature model (step702), according to some embodiments. In some embodiments, step702includes operating the steering system of the vehicle following process500using the primary curvature model obtained through process600.

The process700includes obtaining steering condition data of steering input device and curvature data of curvatures of the vehicle (step704) according to some embodiments. In some embodiments, the steering condition data relates to the steering condition of the steering input device of the agricultural vehicle, similar to the steering condition data obtained during step602of the process600. In some embodiments, at least a portion of the steering condition data is generated while the steering system of the vehicle is operated for the given commanded curvature using the primary control model. For example, at least a portion of the steering control data of the steering input device may be obtained while the agricultural vehicle is being autonomously controlled using the primary curvature model. In some embodiments, the curvature data relates to the actual curvature of the vehicle, similar to the curvature data obtained during step604of the process600. In some embodiments, step704is performed by the controller402by receiving an actual curvature taken by the vehicle10that results from the steering condition of the steering input device302over the time period. For example, the controller402may receive a GNSS curvature corresponding to the actual curvature of the vehicle10from a GPS sensor of the vehicle10. In other embodiments, step704is performed by the controller402by receiving sensor data associated with the vehicle10and determining the curvature data corresponding to the curvatures of the vehicle10based on the sensor data. For example, the controller402may receive a GNSS curvature from a GPS sensor positioned on the front frame portion14of the vehicle10. The GNSS curvature may correspond to the front frame curvature CFof the front frame portion14of the vehicle10. The controller402may determine the curvature data corresponding to the curvatures of the vehicle10based on the front frame curvature CF. As another example, the controller402may receive sensor data associated with the driveline50and may determine the curvature data corresponding to the curvatures of the vehicle10based on the sensor data. In some embodiments, similar to step702, at least a portion of the curvature data is generated while the steering system of the vehicle is operated for the given commanded curvature using the primary control model.

The process700includes using the steering condition data and the curvature data to obtain a calibration curvature model that predicts steering condition data given commanded curvature data (step706), according to some embodiments. In some embodiments, step706includes performing a regression (e.g., a second regression, etc.) based on the steering condition data of the steering input device and the curvature data of the vehicle to generate a calibration curvature model of the vehicle that determines values of a steering condition of the steering input device given a command curvature. In some embodiments, step706includes feeding the steering condition data of the steering input device and the curvature data of the vehicle into a calibration curvature perceptron to generate the calibration curvature model as the calibration curvature perceptron using machine learning techniques, similar to step606of the process600. In some embodiments, an initial iteration of the calibration curvature model may be set as equivalent to the primary curvature model generated by process600after the primary curvature model has been activated. For example, an initial iteration of the calibration curvature model may be the same as (e.g., equivalent to, etc.) the primary curvature model determined to be converged in the process600such that the calibration curvature model may continue to improve off of the primary curvature model. In some embodiments, the regression may occur while the steering system is operating the steering input device of the agricultural vehicle to the steering condition according to the steering control generated by modeling the input with the primary curvature model obtained by process600.

In some embodiments, the calibration curvature model is a calibration polynomial function that values of the steering condition of the steering input device associated with a curvature, similar to the primary curvature model generated by the process600. In some embodiments, referring toFIG.11, the calibration curvature model430is a calibration polynomial function432that determines values of the steering conditions306of the steering input device302associated with curvatures. In some embodiments, the calibration polynomial function is a third-order function, similar to the polynomial function generated by process600. For example, the calibration polynomial function may have the form A2x3+B2x2+C2x+D2=y, where x is the curvature of the agricultural vehicle, y is the steering condition, A2is a weight corresponding to x3, B2is a weight corresponding to x2, C2is a weight corresponding to x, and D2is a constant. In some embodiments, the regression based on the steering condition data of the steering input device and the curvature data of the vehicle may only modify the constant term of the calibration polynomial. For example, the calibration polynomial function may have the form A2x3+B2x2+C2x+D2=y and the regression may only modify D2based on the steering condition data of the steering input device and the curvature data of the vehicle.

The process700includes determining that the steering condition is within a center range (Step708), according to some embodiments. In some embodiments, the center range may be an operational band of the steering input device where the agricultural vehicle is considered to be driving straight forward. In some embodiments, the center range may include the operational band of the steering input device where the agricultural vehicle is driving within an angle of driving straight forward (e.g., within 5 degrees of driving straight forward, within 2 degrees of driving straight forward, within 1 degree of driving straight forward, etc.).

The process700includes adjusting the primary curvature model based on the calibration curvature model and returning to step702if the steering condition is within the center range (Step710), according to some embodiments. In some embodiments, the adjustment of the primary curvature model includes updating a constant of the primary curvature model to a calibration constant of the calibration curvature model if the steering condition is within the center range. For example, if the primary curvature model is the polynomial function with the form A1x3+B1x2+C1x+D1=y and the calibration curvature model is the calibration polynomial function with the form A2x3+B2x2+C2x+D2=y, the value of D1may be updated to the value of D2when the steering condition is within the center range. By adjusting the primary curvature model based on the calibration curvature model when the steering condition is within the center range, the primary curvature model may be updated when the primary curvature model is not being modeled with an input to generate a steering control, as detailed in process500.

The process700includes determining if a deviation between the calibration curvature model and the primary curvature model is above a threshold if the steering condition is not within the center range (Step712), according to some embodiments. In some embodiments, the deviation may be a difference between the calibration curvature model and the primary curvature model that results in a different steering condition of the steering input device when a curvature is inputted into the calibration curvature model and the primary curvature model. In some embodiments, the threshold may be a value related to a maximum difference between the steering condition outputted by the calibration curvature model based on a curvature and the steering condition outputted by the primary curvature model based on the curvature. For example, the threshold may be a maximum difference between a first angle of a steering wheel outputted by the primary curvature model and a second angle of the steering wheel outputted by the calibration curvature model. In some embodiments, the determination that the deviation between the calibration curvature model and the primary curvature model is above the threshold may indicate that the primary curvature model is no longer accurate for the steering system of the vehicle and that the primary curvature model should be updated.

The process700includes performing at least one of generating an alert or deactivating the primary curvature model for the steering system if the deviation is above the threshold (Step714), according to some embodiments. In some embodiments, the alert may include at least one of an audio or visual alert provided to an operator of the agricultural vehicle to indicate that the deviation between the calibration curvature model and the primary curvature model is above the threshold. For example, the alert may be provided to a display of the agricultural vehicle and may alert the operator that the steering control of the steering control device may no longer be accurate and needs to be updated. In some embodiments, the alert may indicate that the primary curvature model should be updated based on the calibration curvature model. In some embodiments, the deactivation of the primary curvature model may prevent the primary curvature model from being used by the steering system to operate the steering control device of the agricultural vehicle. In some embodiments, if the primary curvature model is being used by the steering system to operate the steering control device of the agricultural vehicle, the deactivation of the primary curvature model may result in stopping the operation of the steering control device. For example, if the primary curvature model is deactivated while being used to autonomously operate the steering input device, the autonomous operation may be stopped. In some embodiments, the deactivation of the primary curvature model may result in stopping the operation of the agricultural vehicle.

In some embodiments, the process700includes returning to step702if the deviation is not above the threshold, according to some embodiments. For example, if the deviation between the primary curvature model and the calibration curvature model is below the threshold, then the controller402will continue to operate the steering control device304for the commanded curvature data using the primary curvature model.

Curvature Data Generation

As shown inFIG.13, the steering control system400is configured to obtain the curvature data corresponding to the curvatures of the vehicle10configured as the articulated chassis vehicle by determining a third curvature of the vehicle10, shown as combined curvature Cc. The combined curvature Cccorresponds to an overall curvature of the vehicle10. For example, when the vehicle10includes the front frame portion14and the rear frame portion16, the combined curvature Ccmay correspond to a composite curvature that represents a composite of the front frame curvature CFof the front frame portion14and the rear frame curvature CRof the rear frame portion16. In some embodiments, the steering control system is configured to determine the curvature data corresponding to the curvatures of the vehicle10based on partial curvature data corresponding to a partial curvature of the vehicle10, according to some embodiments. The partial curvature data may correspond to at least one of the front frame curvature CFof the front frame portion14or the rear frame curvature CRof the rear frame portion16, according to some embodiments. For example, the partial curvature data

The steering control system400may be configured to utilize the curvature data corresponding to the combined curvature Ccof the vehicle10to operate the vehicle10. For example, during the process600, the steering control system400may utilize the curvature data corresponding to the combined curvature Ccof the vehicle10obtained in step604during step606to generate estimation errors. As another example, during process700, the steering control system400may utilize the curvature data corresponding to the combined curvature Ccof the vehicle10obtained in step704during step706to obtain the calibration curvature model and/or during step708to determine if the vehicle10is traveling straight. As a result, the steering control system400may use the curvature data corresponding to the combined curvature Ccof the vehicle10that is associated with the combined curvature Ccof the vehicle10that is associated with an overall curvature of the vehicle10instead of the front frame curvature CFof the front frame portion14or the rear frame curvature CRof the rear frame portion16(e.g., when the front frame curvature CFand the rear frame curvature CRare not equal, etc.).

According to an exemplary embodiment, the steering control system400is configured to determine the combined curvature Ccof the vehicle10configured as the articulated chassis vehicle based the partial curvature data corresponding to the front frame curvature CFof the front frame portion14. In some embodiments, the partial curvature data relates to actual front frame curvatures CFof the front frame portion14(e.g., paths of the front frame portion14, turns of the front frame portion14, etc.). In some embodiments, the partial curvature data received by the controller402corresponds to the front frame curvatures CFof the front frame portion14that results from the steering condition of the steering input device302. For example, the controller402may receive a GNSS curvature corresponding to the actual front frame curvatures CFof the front frame portion14from a GPS sensor of the vehicle10that is configured to move with the front frame portion14(e.g., coupled to the front frame portion14, coupled to a portion of the body20coupled to the front frame portion14, coupled to the cab30, etc.). In other embodiments, the controller402is configured to determine the partial curvature data corresponding to the front frame curvatures CFof the front frame portion14based on sensor data associated with the operation of the vehicle10. For example, the controller402. For example, the controller402may receive sensor data associated with the driveline50and may determine the partial curvature data corresponding to the front frame curvatures CFof the front frame portion14of the vehicle10based on the sensor data. In other embodiments, the steering control system400is configured to determine the combined curvature Ccof the vehicle10configured as the articulated chassis vehicle based on the rear frame curvature CR. For example, the controller402may receive a GNSS curvature corresponding to the actual rear frame curvatures CRof the rear frame portion16from a GPS sensor of the vehicle10that is configured to move with the rear frame portion16(e.g., coupled to the rear frame portion16, coupled to a portion of the body20coupled to the rear frame portion16, etc.).

As shown inFIG.13, the controller402may relate the articulation angle γ between the front frame axis AFof the front frame portion14and the rear frame axis ARof the rear frame portion16to the partial curvature data corresponding to the corresponding to the front frame curvature CFof the front frame portion14using the equation:

where L1is a first length of the front frame portion, shown as front length L1, L2is a second length of the rear frame portion, shown as rear length L2, {dot over (γ)} is a rate of change of the articulation angle γ (e.g., a derivative of the articulation angle γ, etc.), and ν is a forward travel velocity ν of the vehicle10(e.g., a forward velocity of the vehicle10, a velocity of the vehicle10in a direction of travel of the vehicle10, etc.). In some embodiments, the controller402determines (e.g., estimates, etc.) the rate of change {dot over (γ)} based on past values of the articulation angle γ (e.g., historical values of the articulation angle γ, etc.). For example, if the articulation angle γ is equal to 15 degrees at a first time and 20 degrees at a second time, the rate of change γ may be estimated by dividing the difference between the articulation angle γ at the second time and the articulation angle γ at the first time (e.g., 5 degrees, etc.) by the difference between the second time and the first time.

The articulation angle γ may be determined by applying the condition:

to determine the minimum absolute value of the articulation angle γ that allows for the equation to be solved (e.g., minimizing the absolute value of the articulation angle γ, etc.). In some embodiments, the equation may be solved under the condition that the articulation angle γ is greater than or equal to zero and less than or equal to a maximum allowable value of the articulation angle γ. For example, the maximum allowable value of the articulation angle γ may be a value of the articulation angle γ that causes the rear frame portion16to gooseneck relative to the front frame portion14. As another example, the maximum allowable value of the articulation angle γ may be a value of the articulation angle γ where the rear frame portion16contacts the front frame portion14, preventing the articulation angle γ from increasing any further. In other embodiments, the controller402determines the articulation angle γ based on sensor data received by the controller402. For example, the vehicle10may include a sensor configured to generate sensor data corresponding to the articulation angle γ between the front frame portion14and the rear frame portion16. The controller402may receive the sensor data and determine the articulation angle γ based on the sensor data.

The controller402determines the curvature data corresponding to the combined curvature CCof the vehicle10based on the articulation angle γ using the equation below:

to determine the combined curvature CCof the vehicle10based on the articulation angle γ, the front length L1of the front frame portion14, and the rear length L2of the rear frame portion16. In some embodiments, the controller402is configured to filter out noise from the curvature data that may be formed from noise in the partial curvature data corresponding to the front frame curvature CFof the front frame portion14. For example, the controller402may apply a low pass filter on the curvature data to filter out the noise from the curvature data.

As shown inFIG.14, a flow diagram of a process800for obtaining curvature data of a vehicle includes steps802-806, according to some embodiments. In some embodiments, the process800is performed by the controller402based on one or more data sources410of the vehicle10to determine the curvature data corresponding to the combined curvature CCof the vehicle10when the vehicle10is configured as the articulated chassis vehicle. In some embodiments, the data sources410as shown inFIG.4include sensors, systems, sub-systems, etc., of the vehicle10.

The process800includes obtaining partial curvature data corresponding to partial curvatures of at least one of a front portion of a vehicle or a rear portion of a vehicle (step802), according to some embodiments. In some embodiments, the partial curvature data relates to actual partial curvatures of the vehicle (e.g., a path of a first portion of the vehicle, a turn of a first portion of the vehicle, etc.). In some embodiments, step802is performed by the controller402by obtaining an actual front frame curvature CFof the front frame portion14or an actual rear frame curvature CRof the rear frame portion16of the vehicle10. For example, the controller402may receive a GNSS curvature (e.g., positional data, GNSS coordinate data, etc.) corresponding to the actual front frame curvature CFof the front frame portion14or the actual rear frame curvature CRof the rear frame portion16from a GPS sensor of the vehicle10configured to move the with front frame portion14or the rear frame portion16respectively. In other embodiments, step802is performed by the controller402by receiving sensor data associated with the vehicle10and determining the partial curvature data corresponding to the front frame curvature CFof the front frame portion14or the rear frame curvature CRof the rear frame portion16.

The process800includes determining an articulation angle between the front portion and the rear portion (step804), according to some embodiments. In some embodiments, the articulation angle may be determined based on the partial curvature data obtained during step804. For example, the articulation angle may be determined using the partial curvature data and static data associated with the front portion and the rear portion of the vehicle (e.g., lengths of the first portion and the second portion of the vehicle, drivetrain attributes of the first portion and the second portion of the vehicle, etc.). In some embodiments, step804is performed by the controller402to determine the articulation angle γ between the front frame portion14and the rear frame portion16of the vehicle10based on the partial curvature data corresponding to the front frame curvature CFof the front frame portion14or the rear frame curvature CRof the rear frame portion16.

The process800includes determining curvature data corresponding to curvatures of the vehicle (step806), according to some embodiments. In some embodiments, the curvature data may be determined based on the articulation angle determined in step804. In some embodiment, the curvature data corresponds to the curvatures of an entirety of the vehicle (e.g., all of the vehicle, overall curvatures of the vehicle, etc.). For example, the curvature data may correspond to curvatures that are a composite of a first curvature of the first portion of the vehicle and a second curvature of the second portion of the vehicle. In some embodiments, step806is performed by the controller402to determine curvature data corresponding to the combined curvature CCof the vehicle10based on the articulation angle γ between the front frame portion14and the rear frame portion16. As a result, the controller402may determine the curvature data that corresponds to an entirety of the vehicle10which may be utilized to more accurately operate the vehicle10. For example, when the vehicle10is operated according to the curvature that corresponds to the entirety of the vehicle10, the vehicle10may be operated based on curvatures that the vehicle10will follow instead of front curvatures followed by the front frame portion14or rear curvatures followed by the rear frame portion16which may be different from the curvatures that the vehicle10will follow.

In some embodiments, step806includes filtering the curvature data to generate filtered curvature data. For example, a low pass filer may be applied to the curvature data to generate the filtered curvature data that includes less noise than the curvature data. The noise in the curvature data may be a result of noise in the partial curvature data. As a result, the filtered curvature data may be utilized to operate the vehicle in a smoother manner. In some embodiments, the controller402filters the curvature data to generate the filtered curvature data such that the controller402may operate the vehicle10based on the filtered curvature data which may result in smoother performance than when the vehicle10is operated based on the curvature data.

The systems and methods of the present disclosure may be completed by any computer program. A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry (e.g., an FPGA or an ASIC).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). However, a computer need not have such devices. Moreover, a computer may be embedded in another device (e.g., a vehicle, a Global Positioning System (GPS) receiver, etc.). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks). The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subject matter described in this specification may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display), OLED (organic light emitting diode), TFT (thin-film transistor), or other flexible configuration, or any other monitor for displaying information to the user. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback).

Implementations of the subject matter described in this disclosure may be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer) having a graphical user interface or a web browser through which a user may interact with an implementation of the subject matter described in this disclosure, or any combination of one or more such back end, middleware, or front end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a LAN and a WAN, an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).

It is important to note that the construction and arrangement of the vehicle10and the systems and components thereof (e.g., the driveline50, the braking system92, the control system96, etc.) as shown in the various exemplary embodiments are illustrative only. Additionally, any element disclosed in one embodiment may be incorporated or utilized with any other embodiment disclosed herein.