Device and method for vehicle steering to follow a curved path

By calculating the feedforward wheel angle and heading error compensation adjustment amount in real time, the problems of large memory requirements and performance degradation in traditional vehicle steering control methods are solved, and efficient and accurate tracking on the bending path is achieved.

CN112249017BActive Publication Date: 2025-07-11DEERE & CO
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010629214.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-05
Filing Date
2020-07-02
Publication Date
2025-07-11
Estimated Expiration
2040-07-02

AI Technical Summary

Technical Problem

Traditional vehicle steering control methods require a lot of memory and experimentally determine the wheel angle when following a bending path, and performance deteriorates under non-designed conditions, making it difficult to maintain accuracy in field environments.

Method used

By using machine-readable instructions and formulas to determine the feedforward wheel angle and heading error compensation adjustments in real time, memory requirements are reduced, the vehicle remains positioned on the bending path, and the wheel angle is calculated using machine kinematics and geometric principles.

Benefits of technology

Improves the vehicle's tracking performance on curved paths, reduces memory requirements, and ensures accuracy and efficiency under different driving conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112249017B_ABST
    Figure CN112249017B_ABST
Patent Text Reader

Abstract

Methods, apparatuses, systems, and articles of manufacture are disclosed for vehicle steering to follow a curved path. Exemplary vehicles disclosed herein include: a front axle; a rear axle; a position sensor; and a tracking mode controller configured to: determine a wheel steering angle based on a turning center position corresponding to a navigation curve and one or more measurements between the turning center position and the vehicle; determine a heading error compensation adjustment based on the turning center position and the one or more measurements between the turning center position and the vehicle; and cause the vehicle to move along the navigation curve based on the wheel steering angle and the heading error compensation adjustment.
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Invention

[0001] The present disclosure generally relates to vehicle steering, and more particularly to devices and methods for steering a vehicle to follow a curved path. Background Art

[0002] In recent years, agricultural vehicles have become increasingly automated. Agricultural vehicles can be driven semi-autonomously or fully autonomously and perform operations in the fields using tools for planting, spraying, harvesting, fertilizing, stripping / tilling, etc. These autonomous agricultural vehicles include multiple sensors (e.g., Global Navigation Satellite System (GNSS), Global Positioning System (GPS), Light Detection and Ranging (LIDAR), Radio Detection and Ranging (RADAR), Sound Navigation and Ranging (SONAR), telematics sensors, etc.) to assist in navigation without assistance from a human user or with limited assistance. Brief Description of the Drawings

[0003] Figure 1 is a schematic illustration of an exemplary front-wheel-steering vehicle and an exemplary rear-wheel-steering vehicle constructed in accordance with the teachings disclosed herein.

[0004] Figure 2 is Figure 1 a block diagram of an exemplary tracking mode controller for the front-wheel and rear-wheel steering vehicle.

[0005] Figure 3 is a flow chart representing exemplary machine-readable instructions that may be executed to implement Figure 1 the tracking mode controller of

[0006] Figure 4 to cause the vehicle to follow a curved path. Figure 1 is a flow chart representing exemplary machine-readable instructions that may be executed to implement

[0007] Figure 5 the tracking mode controller of Figure 1 to determine a feedforward wheel angle.

[0008] Figure 6A is an exemplary schematic diagram corresponding to the calculation of a feedforward wheel angle for a front-wheel steering vehicle as calculated in accordance with the teachings disclosed herein.

[0009] Figure 6Bis an exemplary schematic diagram corresponding to the calculation of a feedforward wheel angle for a rear-wheel steering vehicle as calculated according to the teachings disclosed herein.

[0010] Figure 7A is an exemplary schematic diagram corresponding to the calculation of a heading error compensation adjustment amount for a front-wheel steering vehicle as calculated according to the techniques disclosed herein.

[0011] Figure 7B is an exemplary schematic diagram corresponding to the calculation of a heading error compensation adjustment amount for a rear-wheel steering vehicle as calculated according to the techniques disclosed herein.

[0012] Figure 8 is configured to execute Figures 3 to 5 instructions to implement Figure 1 and Figure 2 is a block diagram of an exemplary processing platform of a tracking mode controller.

[0013] The drawings are not drawn to scale. In general, the same reference numerals are used throughout all the drawings and the accompanying written description to refer to the same or like parts.

[0014] When identifying multiple elements or components that can be referred to individually, the descriptors "first," "second," "third," etc. are used herein. Unless otherwise specified or understood based on their context of use, such descriptors are not intended to impart any meaning of precedence or temporal ordering, but are merely used to facilitate understanding of the disclosed examples as labels for referring to multiple elements or components individually. In some examples, the descriptor "first" may be used to refer to an element in the detailed description, while the same element may be referred to in the claims using a different descriptor such as "second" or "third." In such instances, it should be understood that the use of such descriptors is merely for the purpose of facilitating reference to multiple elements or components. Detailed Description

[0015] Automation of agricultural vehicles is highly desirable commercially as automation can improve the accuracy of performing operations, reduce operator fatigue, improve efficiency, and yield other benefits. An autonomous vehicle moves by following a guidance path. Conventional methods for generating a guidance path include using a feedback control system that depends on control parameters and / or controller gains to control the system. For example, such control parameters include a proportional-integral-derivative (PID) controller. Such conventional controllers require at least three control parameters (e.g., controller gains) to control the vehicle in a particular operating mode. The controller can have many different operating modes, including an acquisition operating mode and a tracking operating mode. As used herein, "tracking", "tracking mode", "tracking operating mode", and / or their derivatives refer to following and / or tracing a guidance path. As used herein, "acquiring", "acquiring mode", "acquiring operating mode", and / or their derivatives refer to reaching a guidance path, route, and / or acquiring a position that is substantially similar (e.g., within one meter, within half a meter, within two meters, etc.) to the guidance path.

[0016] A guidance path is used by a navigation and / or positioning device (e.g., a GNSS receiver) and a controller in a tracking mode to cause the vehicle to follow a prescribed path. In some examples, the prescribed path includes turns, curves, etc. that the vehicle is to follow when operating in a field. When using conventional design methods, to design a satisfactory controller that can reliably track a prescribed curved path, many hours of vehicle operation (e.g., driving the vehicle in circles of different path curvatures) are required to adjust the control parameters to determine multiple data sets of control parameters, and the conventional controller can use the multiple data sets of control parameters to build / design a table of control parameters (e.g., wheel angle commands versus path curvature) to cause the GNSS receiver to track the prescribed curved path. For example, a table is conventionally used to provide a feedforward wheel angle command based on a path curvature value. As used herein, "wheel angle command", "steering angle command", "feedforward wheel angle command", etc. are control signals that determine the angle by which the wheels of a vehicle should turn to follow a prescribed path (e.g., a curved path). Additionally, when a vehicle operator places the vehicle in a situation outside of the designed control parameters defined in the table, performance can degrade significantly because the control parameters need to be determined by interpolating between the values in the table. In such an example, the vehicle will be less likely to accurately and precisely follow the prescribed curved path.

[0017] Each control parameter is a function of the vehicle's position relative to a guidance path. Thus, during design, each of the control parameters must be tuned individually for a preset number of speeds and a preset number of distances from the guidance path. In situations where the vehicle experiences slippage, soft and hard soil, field roughness, etc., traditional methods design one or more control gain values that are tuned based on errors in the control parameters and adjust all errors (e.g., drive) to zero to compensate for undesirable field conditions / situations. For example, the control gain value is tuned based on the measured lateral error perpendicular to the path, the measured heading error relative to the path heading error, and the rate of change of the heading error relative to the rate of change of the path change rate with respect to the heading error. The heading error refers to the difference between the line tangent to the navigation curve at the current position of the GPS receiver and the current heading (directional orientation) of the vehicle. In traditional implementations, the heading error can be driven to zero. However, to follow a prescribed curved path, the heading error compensation must not be driven to zero, otherwise performance will degrade.

[0018] Additionally, traditional controllers must include a large amount of memory allocated for a dataset of control parameters for each operating mode. For example, if the traditional controller is in a tracking mode, a table with multiple values corresponding to the front wheel angle for a prescribed curved path and the rear wheel angle for a prescribed curved path is stored in the controller memory. In addition to the already large memory required for each table stored, additional logic overhead is required to maintain, read, and write to the memory. In multiple different operating modes, the amount of data required for a traditional controller to reliably control the vehicle can easily reach the range of kilobits and megabits.

[0019] Different from traditional control methods, the examples disclosed herein reduce the memory required to operate the controller in a tracking mode by eliminating the need for an experimentally developed table of values of wheel angles to determine the correct feedforward commands required to follow a curved path. Additionally, the examples disclosed herein do not require field tuning. The wheel angles for following a curved path are determined based on a formula that can be implemented by machine-readable instructions. The examples disclosed herein enable a position sensor (e.g., GNSS receiver, GPS receiver, etc.) to remain positioned on a curved path even when the position sensor is offset from the front axle or rear axle. For example, on a rear-wheel-steering vehicle, the position sensor can be positioned closer to the front end of the vehicle than the front axle, and on a front-wheel-steering vehicle, the position sensor can be positioned midway between the rear axle and the front axle.

[0020] The exemplary methods, devices, systems, and articles of manufacture (e.g., physical storage media) disclosed herein describe an effective method for determining a feedforward wheel angle command for a front-wheel-steering or rear-wheel-steering vehicle in real time. For example, the examples disclosed herein obtain the desired path curvature in real time along with vehicle parameters and navigation path data to determine the correct wheel angle command for the vehicle.

[0021] The exemplary methods, devices, systems, and articles of manufacture (e.g., physical storage media) disclosed herein determine a heading error compensation adjustment amount to improve tracking performance when the vehicle follows a curved path. By utilizing the vehicle heading offset adjustment amount disclosed herein, the same control gain value for straight-line tracking can be used for curved path tracking.

[0022] The exemplary methods, devices, systems, and articles of manufacture (e.g., physical storage media) disclosed herein utilize the determined feedforward wheel angle and vehicle heading error compensation adjustment amount to ensure that a position sensor (e.g., a GNSS receiver) remains on a prescribed path regardless of where the position sensor is located on the vehicle.

[0023] To effectively track a prescribed curved path, the examples disclosed herein utilize machine kinematics and geometric principles to determine the commanded steering angle to cause the vehicle to turn according to the curved path. In some examples, the vehicle can turn in one direction, or the vehicle can follow an S-shaped curve and thus turn in two different directions. The examples disclosed herein utilize real-time received data (e.g., path curvature data) to calculate the correct angle of front-wheel steering of the vehicle regardless of whether the driving direction changes.

[0024] Figure 1 is a block diagram of an exemplary front-wheel-steering vehicle 102a and an exemplary rear-wheel-steering vehicle 102b. In the illustrated example, both the front-wheel-steering vehicle 102a and the rear-wheel-steering vehicle 102b include exemplary vehicle control networks 104a, 104b to guide the front-wheel-steering vehicle 102a and the rear-wheel-steering vehicle 102b.

[0025] The front-wheel-steering vehicle 102a includes a vehicle control network 104a, an exemplary position sensor 105a, an exemplary user display 106a, exemplary front wheels 108a, and exemplary rear wheels 110a.

[0026] The rear-wheel-steering vehicle 102b includes a vehicle control network 104b, an exemplary position sensor 105b, an exemplary user display 106b, exemplary front wheels 108b, and exemplary rear wheels 110b.

[0027] As illustrated and described herein, the structure and / or function of any one of vehicle control network 104b, position sensor 105b, user display 106b, front wheel 108b, and / or rear wheel 110b may be the same as the corresponding component on front-wheel-steering vehicle 102a. Thus, for example, the description and / or illustration associated with user display 106a of front-wheel-steering vehicle 102a may be considered equally applicable to user display 106b of rear-wheel-steering vehicle 102b. As used herein, when referring to "vehicle 102", it should be understood that the description and / or illustration apply to front-wheel-steering vehicle 102a and rear-wheel-steering vehicle 102b. Similarly, when referring to any one or more of the components of front-wheel-steering vehicle 102a or rear-wheel-steering vehicle 102b, if a component (e.g., vehicle control network 104, position sensor 105, user display 106, front wheel 108, rear wheel 110, etc.) is discussed, it should be understood that the illustration and / or description apply to these corresponding components on both front-wheel-steering vehicle 102a and rear-wheel-steering vehicle 102b.

[0028] In Figure 1 the example illustrated, front-wheel-steering vehicle 102a is a tractor, and rear-wheel-steering vehicle 102b is a cotton picker. Front-wheel-steering vehicle 102a and rear-wheel-steering vehicle 102b can be any type of vehicle configured to track a projected path and / or a curved path (e.g., a tractor, a front loader, a harvester, a tiller, or any other suitable vehicle). For example, front-wheel-steering vehicle 102a can be a tractor capable of automatically tracking a row of crops to harvest the row of crops. As used herein, a front-wheel-steering vehicle (e.g., front-wheel-steering vehicle 102a) steers by rotating its front wheels (e.g., front wheel 108a), and a rear-wheel-steering vehicle (e.g., rear-wheel-steering vehicle 102b) steers by rotating its rear wheels (e.g., rear wheel 110b). In the example disclosed herein, vehicle 102 is equipped with vehicle control network 104 to control and / or otherwise command vehicle 102 to acquire and / or track a predetermined path. Vehicle control network 104 is explained in more detail below with respect to the components in vehicle control network 104.

[0029] In Figure 1In [the example], the exemplary user display 106 included in the vehicle 102 is an interactive display on which a user can select and / or type a desired input before, during, and / or after the operation of the vehicle 102 (e.g., select a screen display, type a desired vehicle speed, type an aggressiveness variable, select a sampling interval, turn the vehicle on and / or off, etc.). Additionally, the exemplary user display 106 is used to display a prescribed path to the user operating the vehicle 102. In some examples disclosed herein, the user display 106 is a liquid crystal display (LCD) touch screen, such as a tablet computer, a fourth-generation CommandCenter™ display, a computer monitor, etc. The user display 106 of the illustrated example can be used to display navigation path data and / or vehicle position data.

[0030] In Figure 1 the illustrated examples, the front-wheel-steering vehicle 102a and the rear-wheel-steering vehicle 102b include front wheels 108a, 108b and rear wheels 110a, 110b. In Figure 1 the front-wheel-steering vehicle 102a turns in response to the rotation of the front wheels 108a. For example, if the user decides to turn left, the front wheels 108a are rotated to the left. The rear-wheel-steering vehicle 102b turns in response to the rotation of the rear wheels 110b. In the examples disclosed herein, the front wheels 108a, 108b are located on a front-wheel axle having one or more additional corresponding front wheels. Similarly, in the examples disclosed herein, the rear wheels 110a are located on a rear-wheel axle having one or more additional corresponding rear wheels.

[0031] The vehicle control network 104 includes an exemplary vehicle data interface 112, an exemplary navigation manager 114, and an exemplary tracking mode controller 116.

[0032] In Figure 1 the exemplary vehicle control network 104 includes an exemplary vehicle data interface 112 to provide information corresponding to vehicle data to the exemplary tracking mode controller 116, such as measurements of vehicle components, distances between relative regions of the vehicle, etc. In some examples, the vehicle data interface 112 can include preset and / or predetermined values, measurements, distances of the vehicle 102. The exemplary vehicle data interface 112 may require user input before the operation of the vehicle can occur in order to operate correctly in the tracking mode. In other examples, the vehicle data interface 112 can be a memory, such as Figure 8 the non-volatile memory 816 or the local memory 813, and when the tracking mode controller 116 needs vehicle data to determine the commanded steering angle of the vehicle, the memory receives a notification from the tracking mode controller 116.

[0033] In Figure 1 the illustrated example of Figure 1 the vehicle control network 104, the navigation manager 114 accesses navigation data from the position sensor 105. The vehicle control network 104 may include one or more electronic components and / or hardware components to support the vehicle data interface 112, the navigation manager 114, and / or the tracking mode controller 116. For example, the navigation manager 114 may access one or more curved navigation path data indicating the path that the vehicle 102 is to follow to perform yard operations. In some examples, the navigation manager 114 accesses current position data corresponding to the position of the position sensor 105. The navigation manager 114 transmits the navigation and / or position data to the tracking mode controller 116.

[0034] In some examples, the position sensor 105 is part of (e.g., integrated in) the vehicle control network 104a. In some examples, the position sensor 105 is positioned separately from the vehicle control network 104 on the vehicle 102. However, even when the position sensor 105 is separated from the vehicle control network 104, it still communicates (e.g., wired or wirelessly) with the vehicle control network 104.

[0035] In Figure 1 the illustrated example of Figure 1 the front-wheel-steering vehicle 102a, the position sensor 105a is positioned between the rear wheels 110 and the front wheels 108 (e.g., between the front axle and the rear axle). In Figure 1 the illustrated example of

[0036] the rear-wheel-steering vehicle 102b, the position sensor 105b is positioned closer to the front end of the vehicle than the front wheels 108b or the front axle. In other examples, the position sensor 105 may be located at any position on the vehicle 102 and / or may be integrated into another component (e.g., the navigation manager 114).

[0036] The position sensor 105 communicates with the navigation manager 114 and / or the tracking mode controller 116 to provide and / or otherwise transmit the geographical location and / or navigation path data of the vehicle 102. In some examples disclosed herein, the position sensor 105 samples the geographical location of the vehicle 102 at a threshold interval. For example, every 0.1 seconds, the position sensor 105 may send the geographical location of the vehicle 102 to the vehicle control network 104. In the examples disclosed herein, the position sensor 105 may communicate with the tracking mode controller 116 to obtain the desired path that the vehicle 102 is to travel. In some examples disclosed herein, the position sensor 105 is a GNSS receiver controller, a GPS receiver, a GPS receiver controller, and / or any other component capable of sensing and / or determining position information.

[0037] In some examples, the position sensor 105 determines when the vehicle 102 approaches a curved path based on the navigation path data and provides signals, notifications, etc. to the vehicle control network 104. For example, the position sensor 105 may include a memory that receives and stores data corresponding to the predetermined path information that the vehicle 102 will follow to keep the position sensor 105 on the predetermined path. In some examples, the position sensor 105 communicates with the tracking mode controller 116 to provide position data and predetermined path data (e.g., via the navigation manager 114) to the tracking mode controller 116.

[0038] During the tracking mode, the vehicle control network 104 calculates the lateral error of the vehicle 102, the heading error of the vehicle 102, the rate of change of the heading error of the vehicle 102, and the path curvature measurement of the vehicle 102. For example, since during the tracking mode, the vehicle 102 may or may not be at the geographical location corresponding to the curved path, the straight path, or the start position of the path, the vehicle control network 104 can calculate the lateral error. In the examples disclosed herein, the lateral error is the shortest distance between the position sensor 105 and the desired path. In another example, the lateral error can be defined as the distance perpendicular to the path to the position sensor 105.

[0039] In the examples disclosed herein, the heading of the vehicle 102 (also referred to as the "yaw" of the vehicle 102) is defined as the direction in which the vehicle 102 is pointing. For example, the heading can be drawn by a straight line starting from the front of the vehicle 102 and extending in the direction of travel of the vehicle. Additionally, the heading error can be defined as the distance or angle between the tangent of the prescribed path at a particular location and the actual heading of the vehicle.

[0040] In the examples disclosed herein, the path curvature is defined as the curvature of the path that the vehicle 102 is to follow. Before the vehicle is in motion and performing an operation (e.g., seeding, fertilizing, etc.), the path curvature is predetermined. The path curvature is stored in the navigation path data for use by the exemplary tracking mode controller 116 in determining the commanded steering angle and the heading error compensation adjustment amount that cause the vehicle 102 to follow the prescribed curved path.

[0041] The tracking mode controller 116 of the illustrated example calculates the wheel steering angle (e.g., the front wheel steering angle of the front-wheel-steering vehicle 102a and / or the rear wheel steering angle of the rear-wheel-steering vehicle 102b) and / or the heading error compensation adjustment value to cause the vehicle 102 (more specifically, the position sensor 105 of the vehicle 102) to follow a predetermined curve represented in the navigation data. In some examples disclosed herein, the wheel steering angle is a numerical value representing an angle measurement (e.g., 14 degrees, -30 degrees, etc.) to be applied to the front wheels 108a of the front-wheel-steering vehicle 102a or the rear wheels 110b of the rear-wheel-steering vehicle 102b. The tracking mode controller 116 of the illustrated example outputs one or more exemplary steering commands 118 to cause the steering wheels of the vehicle 102 to move to keep the position sensor 150 on the predetermined curve.

[0042] In some examples, the tracking mode controller 116 attempts to drive all errors (e.g., lateral error, heading error, etc.) relative to the navigation path to zero using the tracking mode controller gain to force the position sensor 105 to precisely follow the prescribed path. For example, when the error is zero, the position sensor 105 accurately follows the path. However, in some examples, when the vehicle 102 is to follow a curved path, the exemplary tracking mode controller 116 does not attempt to drive the heading error to zero. Instead, in some such examples disclosed herein, the tracking mode controller 116 determines the heading error compensation adjustment amount to be applied to the tracking mode controller heading error gain to follow the curved path. Further details of the exemplary tracking mode controller 116 are described below in conjunction with Figure 2 describing further details of the exemplary tracking mode controller 116.

[0043] In some examples, one or more steering commands generated by the tracking mode controller 116 are provided to the steering device on the vehicle 102. For example, the tracking mode controller 116 can issue a steering command to the front wheel steering device of the front-wheel-steering vehicle 102a. Similarly, the tracking mode controller 116 can issue a steering command to the rear wheel steering device of the rear-wheel-steering vehicle 102b.

[0044] Figure 2 is Figure 1 a block diagram of the exemplary tracking mode controller 116 of the front-wheel-steering vehicle 102a and the rear-wheel-steering vehicle 102b. The tracking mode controller 116 includes an exemplary navigation analyzer 208, an exemplary feedforward wheel angle determiner 210, an exemplary heading error compensation determiner 214, and an exemplary steering controller 218.

[0045] Figure 2The navigation analyzer 280 of the illustrated example accesses exemplary vehicle position data 202. For example, the navigation analyzer 208 can access vehicle position data 202 from the position sensor 105 of the vehicle 102. The vehicle position data 202 can include the position of the position sensor 105 and / or position data specific to a particular part of the vehicle (e.g., the position of the front axle, the position of the rear axle, etc.). In some examples, the navigation analyzer 208 determines the position of a particular component or part of the vehicle 102 based on the vehicle position data 202 and exemplary vehicle data 204 (e.g., dimensions and relative positions on the vehicle 102).

[0046] The navigation analyzer 208 of the illustrated example accesses vehicle data 204 from the vehicle data interface 112. In some examples, the vehicle data includes the dimensions of the vehicle or other parameters of the vehicle (e.g., current speed, turning ability, etc.). The navigation analyzer 208 can determine the position of a particular part of the vehicle (e.g., the position of the front axle, the position of the rear axle, etc.) based on the vehicle data 204 and / or the vehicle position data 202.

[0047] The navigation analyzer 208 of the illustrated example accesses exemplary navigation path data 206, and the exemplary navigation path data 206 includes one or more curves that the vehicle 102 is to follow. For example, the navigation path data 206 can include one or more guiding routes. In some examples, the navigation analyzer 208 determines a particular characteristic of the navigation path data 206, such as a curvature value, based on the current position in the path as determined from the vehicle position data 202. The navigation analyzer 208 of the illustrated example transmits the vehicle position data 202, the vehicle data 204, and / or the navigation path data 206 to the feedforward wheel angle determiner 210, the heading error compensation determiner 214, and / or the steering controller 218.

[0048] Figure 2 The feedforward wheel angle determiner 210 of the illustrated example determines an exemplary wheel steering angle 212 to keep the vehicle 102 on a curved navigation path. In the case of a rear-wheel-steering vehicle, the feedforward wheel angle determiner 210 outputs the angle by which the rear wheels should move to stay on the curved navigation path. In the case of a front-wheel-steering vehicle, the feedforward wheel angle determiner 210 outputs the angle by which the front wheels should move to stay on the curved navigation path. In some examples, the feedforward wheel angle determiner 210 determines the wheel steering angle to keep the position sensor 105 on the curved navigation path.

[0049] In some examples, the feedforward wheel angle determiner 210 utilizes the following equations 1 to 4 to determine the wheel steering angle to be utilized by the steering controller 218.

[0050] In some examples, using Equation 1, the feedforward wheel angle determiner 210 can determine the turning radius from the turning center position to the position of the position sensor 105. The variable "R" rec refers to the turning radius from the turning center position to the position sensor 105, and "ρ" refers to the path curvature determined based on navigation path data (e.g., as reported by a GPS receiver).

[0051]

[0052] Equation 1

[0053] In some examples, using Equation 2a or 2b, the feedforward wheel angle determiner 210 determines the turning radius from the turning center position to the vehicle's axle. If the vehicle 102 is a rear-wheel steering vehicle, the feedforward wheel angle determiner 210 uses Equation 2a to calculate the turning radius from the turning center position to the front axle of the vehicle 102. If the vehicle 102 is a front-wheel steering vehicle, the feedforward wheel angle determiner 210 uses Equation 2b to calculate the turning radius from the turning center position to the rear axle of the vehicle 102. In Equation 2a, R fa represents the turning radius from the turning center position to the front axle, and L fa-rec represents the distance between the front axle and the position sensor 105. In Equation 2b, R ra represents the turning radius from the turning center position to the rear axle, and L ra-rec represents the distance between the rear axle and the position sensor 105.

[0054]

[0055] Equation 2a

[0056]

[0057] Equation 2b

[0058] The feedforward wheel angle determiner 210 can use Equation 3a for a rear-wheel steering vehicle to determine the angle between the rear axle turning radius and the vehicle's centerline. The feedforward wheel angle determiner 210 can use Equation 3b for a front-wheel steering vehicle to determine the angle between the front axle turning radius and the vehicle's centerline. In both equations, WB represents the distance between the front axle and the rear axle.

[0059]

[0060] Equation 3a

[0061]

[0062] Equation 3b

[0063] The feedforward wheel angle determiner 210 can utilize Equation 4 to calculate the feedforward wheel steering angle (e.g., wheel steering angle 212). In Equation 4, the sign function is used for the assumed angle sign convention in the controller.

[0064] δ = (90° - α) × sign(ρ)

[0065] Equation 4

[0066] Equations 1 through 4 represent one technique that the feedforward wheel angle determiner 210 can utilize to calculate the feedforward steering angle. However, the feedforward wheel angle determiner 210 can utilize any calculation to use the vehicle position data 202, vehicle data 204, and / or navigation path data 206 from the navigation analyzer, or parameters derived from these data sources, to calculate the wheel angle such that the position sensor 105 can stay on a prescribed curved path. The feedforward wheel angle determiner 210 transmits the wheel steering angle 212 to the steering controller 218 to cause the vehicle to move based on the wheel steering angle 212. Combined Figures 6A to 6B An exemplary schematic diagram for calculating the feedforward wheel angle is illustrated and described.

[0067] The heading error compensation determiner 214 calculates an exemplary heading error compensation adjustment 216. In some examples, the heading error compensation determiner 214 accesses one or more of the vehicle position data 202, vehicle data 204, and / or navigation path data 206 to calculate the heading error compensation adjustment 216. The heading error compensation determiner 214 transmits the heading error compensation adjustment 216 to the steering controller 218 to cause the steering controller 218 to reduce the heading error until the vehicle 102 is oriented according to the heading error compensation adjustment 216.

[0068] The heading error compensation determiner 214 of the illustrated example utilizes Equation 1 and Equations 5a - 5b and Equation 6 to calculate the heading error compensation adjustment 216. Equation 1, previously described and reproduced below for reference, enables the heading error compensation determiner 214 to determine the turning radius from the turning center position to the position sensor 105 based on the radius of curvature represented in the navigation path data 206 and / or the vehicle position data 202.

[0069]

[0070] Equation 1

[0071] The heading error compensation determiner 214 of the illustrated example utilizes Equation 5a to calculate the desired heading error for a rear-wheel-steering vehicle. In Equation 5a, L fa-recRepresents the distance between the front axle and the position sensor 105. The heading error compensation determiner 214 of the illustrated example uses Equation 5b to calculate the desired heading error of the vehicle with the front wheels steered, where L ra-rec Represents the distance between the rear axle and the position sensor 105.

[0072]

[0073] Equation 5a

[0074]

[0075] Equation 5b

[0076] The heading error compensation determiner 214 of the illustrated example uses Equation 6 to calculate the heading error compensation adjustment 216. In Equation 6, θ meas Represents the measured heading error as reported by the position sensor 105 and / or the navigation analyzer 208. In Equation 6, θ adj Represents the heading error compensation adjustment 216.

[0077] θ adj = θ meas − θ des

[0078] Equation 6

[0079] The heading error compensation determiner 214 transmits the heading error compensation adjustment 216 to the steering controller 218. By subtracting the desired heading error (θ meas ) from the measured heading error (θ des ), the steering controller 218 can use the heading error compensation adjustment 216 to reduce the heading error until the heading error corresponds to the desired heading error calculated using Equation 5a or 5b. An exemplary diagram for calculating the feedforward wheel angle is illustrated and described in conjunction with Figures 7A to 7B FIG.

[0080] Figure 2The steering controller 218 of the illustrated example generates one or more of the steering commands 118 based on the wheel steering angle 212 and / or the heading error compensation adjustment 216. In some examples, the steering controller 218 outputs the steering angle of the steering wheels (e.g., the rear wheels of a rear-wheel-steering vehicle, the front wheels of a front-wheel-steering vehicle) by utilizing the wheel steering angle 212 and / or modifying the wheel steering angle 212 in view of the heading error compensation adjustment 216. In some examples, the steering controller 218 compares the vehicle position data 202 with the navigation path data 206 to determine the error relative to the curved navigation path (e.g., lateral error, heading error, etc.). In some such examples, the steering controller 218 generates the steering command 118 to reduce these errors. When generating the steering command 118, the steering controller 218 attempts to move the vehicle 102 to reduce the heading error to a desired heading value by utilizing the heading error compensation adjustment 216. The steering controller 218 transmits the steering command 118 to one or more steering devices. For example, the steering controller 218 may transmit the steering command 118 to the front-wheel steering device on the front-wheel-steering vehicle 102a and / or the rear-wheel steering device on the rear-wheel-steering vehicle 102b.

[0081] Although an exemplary manner of implementing Figure 2 the tracking mode controller 116 is illustrated in Figure 1 , one or more of the elements, processes, and / or devices illustrated in Figure 2 may be combined, divided, rearranged, omitted, eliminated, and / or implemented in any other way. Additionally, Figure 2The exemplary navigation analyzer 208, the exemplary feedforward wheel angle determiner 210, the exemplary heading error compensation determiner 214, the exemplary steering controller 218, and / or more generally the exemplary tracking mode controller 116 can be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, any one of the exemplary navigation analyzer 208, the exemplary feedforward wheel angle determiner 210, the exemplary heading error compensation determiner 214, the exemplary steering controller 218, and / or more generally the exemplary tracking mode controller 116 can be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, graphics processing units (GPUs), digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field programmable logic devices (FPLDs). When reading any of the apparatus or system claims of this patent to cover pure software and / or firmware implementations, at least one of the exemplary navigation analyzer 208, the exemplary feedforward wheel angle determiner 210, the exemplary heading error compensation determiner 214, and / or the exemplary steering controller 218 is hereby expressly defined to include a non-transitory computer-readable storage device or storage disc, e.g., a memory, a digital versatile disc (DVD), a compact disc (CD), a Blu-ray disc, etc., including software and / or firmware. Further, Figure 2 the exemplary tracking mode controller 116 can include one or more elements, processes, and / or devices in addition to or instead of Figure 2 the elements, processes, and / or devices illustrated in Figure 2 and / or can include more than one of any or all of the illustrated elements, processes, and devices. As used herein, the phrase “communicate,” including variations thereof, encompasses direct communication and / or indirect communication through one or more intermediate components and does not require direct physical (e.g., wired) communication and / or continuous communication, but rather further includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and / or one-time events.

[0082] In Figures 3 to 5 is shown a flowchart depicting exemplary hardware logic, machine-readable instructions, hardware-implemented state machines, and / or any combination thereof for implementing Figure 2 the tracking mode controller 116. The machine-readable instructions can be one or more executable programs or one or more portions of an executable program for execution by a computer processor (e.g., as described below in connection with Figure 8is executed by a processor 812 as shown in the exemplary processor platform 800 being discussed. The program may be implemented in software stored on a non-transitory computer-readable storage medium (e.g., a CD-ROM, floppy disk, hard drive, DVD, Blu-ray disc, or memory associated with the processor 812), but the entire program and / or portions thereof may alternatively be executed by a device other than the processor 812 and / or implemented in firmware or special-purpose hardware. Additionally, although the exemplary program is described with reference to Figures 3 to 5 the illustrated flowcharts, alternatively, many other methods may be used to implement the exemplary trace mode controller 116. For example, the order of execution of the blocks may be changed, and / or some of the described blocks may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.) configured to perform the corresponding operations without executing software or firmware.

[0083] The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a segmented format, a compiled format, an executable format, a packaged format, etc. The machine-readable instructions described herein may be stored as data (e.g., portions of the instructions, code, representations of the code, etc.) that can be used to create, manufacture, and / or generate machine-executable instructions. For example, the machine-readable instructions may be segmented and stored on one or more storage devices and / or computing devices (e.g., servers). The machine-readable instructions may need to be installed, modified, adapted, updated, combined, supplemented, configured, decrypted, decompressed, unpacked, distributed, redistributed, compiled, etc. in order to make them directly readable, interpretable, and / or executable by a computing device and / or other machine. For example, the machine-readable instructions may be stored in multiple portions that are individually compressed, encrypted, and stored on separate computing devices, where the portions form a set of executable instructions that implement a program such as that described herein when decrypted, decompressed, and combined.

[0084] In another example, the machine-readable instructions may be stored in a state where they are readable by a computer, but libraries (e.g., Dynamic Link Libraries (DLLs)), Software Development Kits (SDKs), Application Programming Interfaces (APIs), etc. may need to be added in order to execute the instructions on a particular computing device or other device. In another example, the machine-readable instructions may need to be configured (e.g., stored settings, data inputs, recorded network addresses, etc.) before the machine-readable instructions and / or the corresponding program(s) can be executed in whole or in part. Accordingly, the disclosed machine-readable instructions and / or the corresponding program(s) are intended to encompass such machine-readable instructions and / or program(s) regardless of the particular format or state of the machine-readable instructions and / or program(s) when they are stored or otherwise at rest or in transit.

[0085] The machine-readable instructions described herein may be represented in any past, present, or future instruction language, scripting language, programming language, etc. By way of example, the machine-readable instructions may be represented using any one of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, etc.

[0086] As mentioned above, Figures 3 to 5 the exemplary processes may be implemented using executable instructions (e.g., computer and / or machine-readable instructions) stored on a non-transitory computer and / or machine-readable medium such as a hard disk drive, flash memory, read-only memory, compact disc, digital versatile disc, cache, random access memory, and / or any other storage device or storage disc in which information is stored for any duration (e.g., an extended period of time, permanently, for brief instances, for temporary buffering, and / or caching of information). As used herein, the term non-transitory computer-readable medium is expressly defined to include any type of computer-readable storage device and / or storage disc and to exclude propagated signals and to exclude transmission media.

[0087] "Comprising" and "comprises" (and all of their forms and tenses) are used herein as open-ended terms. Thus, whenever a claim recites any form of "comprising" or "comprises" (e.g., comprises, includes, comprising, including, having, etc.) either as a preamble or within any kind of claim recitation, it is to be understood that additional elements, terms, etc. may exist without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase "at least" is used as a transitional term in, for example, the preamble of a claim, it is open-ended in the same manner as the terms "comprising" and "comprises" are open-ended. The term "and / or" when used, for example, in the form A, B, and / or C refers to any combination or subset of A, B, C, e.g., (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, and (7) A and B and C. As used herein in the context of describing a structure, component, item, object, and / or thing, the phrase "at least one of A and B" is intended to refer to embodiments that include (1) at least one A, (2) at least one B, and (3) any one of at least one A and at least one B. Similarly, as used herein in the context of describing a structure, component, item, object, and / or thing, the phrase "at least one of A or B" is intended to refer to embodiments that include (1) at least one A, (2) at least one B, and (3) any one of at least one A and at least one B. As used herein in the context of describing the performance or execution of a process, instruction, action, activity, and / or step, the phrase "at least one of A and B" is intended to refer to embodiments that include (1) at least one A, (2) at least one B, and (3) any one of at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of a process, instruction, action, activity, and / or step, the phrase "at least one of A or B" is intended to refer to embodiments that include (1) at least one A, (2) at least one B, and (3) any one of at least one A and at least one B.

[0088] As used herein, singular references (e.g., "a", "an", "first", "second", etc.) do not exclude a plurality. As used herein, the term "a" or "an" entity refers to one or more of that entity. The terms "a" (or "an"), "one or more", and "at least one" may be used interchangeably herein. Additionally, although multiple devices, elements, or method acts may be listed separately, they may be implemented by, for example, a single unit or processor. Further, although individual features may be included in different examples or claims, these features may be combinable, and inclusion in different examples or claims does not imply that a combination of features is infeasible and / or disadvantageous.

[0089] In Figure 3 illustrated is an exemplary set of machine-readable instructions 300 executable by a Figure 1 and Figure 2 tracking mode controller 116 to cause a vehicle to follow a curved path. Referring to the previous figures and associated description, Figure 3 the exemplary set of machine-readable instructions 300 begin (block 302) with the exemplary tracking mode controller 116 accessing navigation path data, vehicle position data, and vehicle parameter data. In some examples, a navigation analyzer 208 accesses navigation path data, vehicle position data, and vehicle parameter data. By way of example, navigation path data and / or vehicle position data may be accessed from a navigation manager 114 of a vehicle control network 104. In some examples, vehicle parameter data may be accessed from a vehicle data interface 112 of the vehicle control network 104.

[0090] At block 304, the exemplary tracking mode controller 116 determines a feedforward wheel angle. In some examples, a feedforward wheel angle determiner 210 determines the feedforward wheel angle. Detailed instructions for determining the feedforward wheel angle are illustrated and described in conjunction with Figure 4 .

[0091] At block 306, the exemplary tracking mode controller 116 determines a heading error compensation adjustment. In some examples, a heading error compensation determiner 214 determines the heading error compensation adjustment. Detailed instructions for determining the heading error compensation adjustment are illustrated and described in conjunction with Figure 5 .

[0092] At block 308, the exemplary tracking mode controller 116 controls the vehicle 102 to reduce a control error and follow the feedforward wheel angle. In some examples, a steering controller 218 controls the vehicle 102 to reduce a control error and follow the feedforward wheel angle. By way of example, the steering controller 218 may generate a steering command 118 to cause the vehicle 102 to follow a prescribed curved path.

[0093] At block 310, the exemplary tracking mode controller 116 determines whether to continue the tracking operation. For example, the tracking mode controller 116 may determine whether to continue the tracking operation based on whether the navigation analyzer 208 determines that the vehicle is aligned with one or more predefined paths and / or based on user input. In response to continuing the tracking operation, the process transfers to block 302. Conversely, in response to not continuing the tracking operation, the process terminates.

[0094] At Figure 4 illustrated are exemplary machine-readable instructions 400 that may be executed by the Figure 1 and Figure 2 tracking mode controller 116 to determine the feedforward wheel angles. Referring to the previous figures and associated descriptions, Figure 4 the exemplary machine-readable instructions 400 begin with the exemplary tracking mode controller 116 determining the turning center location based on the radius of curvature in the navigation path data (block 402). In some examples, the feedforward wheel angle determiner 210 determines the turning center location based on the radius of curvature in the navigation path data. For example, the navigation path data 206 accessed by the navigation analyzer 208 may be used to determine the turning center location at the current location (e.g., the location along the navigation path corresponding to the location represented in the vehicle position data 202). In some examples, the navigation analyzer 208 determines the turning center location based on the radius of curvature in the navigation path data.

[0095] At block 404, the exemplary tracking mode controller 116 determines the vehicle wheelbase distance. In some examples, the vehicle data 204 includes the vehicle wheelbase distance representing the distance between the front axle of the vehicle and the rear axle of the vehicle. In some examples, the navigation analyzer 208 determines the vehicle wheelbase distance based on the vehicle data 204.

[0096] At block 406, the exemplary tracking mode controller 116 determines the distance between the turning center location and the position sensor 105. In some examples, the navigation analyzer 208 determines the distance between the turning center location and the position sensor 105. In some examples, the feedforward wheel angle determiner 210 determines the distance between the turning center location and the position sensor 105. In some examples, the feedforward wheel angle determiner 210 calculates the distance between the turning center location and the position sensor 105 using Equation 1.

[0097] At block 408, the exemplary tracking mode controller 116 determines whether the vehicle is a front-wheel steering vehicle. In some examples, the navigation analyzer 208 determines whether the vehicle is a front-wheel steering vehicle based on the vehicle data 204. In response to the vehicle being a front-wheel steering vehicle, the process transfers to block 410. Conversely, in response to the vehicle not being a front-wheel steering vehicle (i.e., being a rear-wheel steering vehicle instead), the process transfers to block 416.

[0098] At block 410, the exemplary tracking mode controller 116 determines the distance from the turning center position to the rear axle. In some examples, the feedforward wheel angle determiner 210 determines the distance from the turning center position to the rear axle. In some examples, the feedforward wheel angle determiner 210 uses Equation 2b to determine the distance from the turning center position to the rear axle.

[0099] At block 412, the exemplary tracking mode controller 116 determines a first angle between the vehicle wheelbase line and the line extending from the rear axle to the turning center position. In some examples, the feedforward wheel angle determiner 210 determines a first angle between the vehicle wheelbase line and the line extending from the rear axle to the turning center. In some examples, the feedforward wheel angle determiner 210 uses Equation 3b and / or another trigonometric relationship to determine the first angle between the vehicle wheelbase line and the line extending from the rear axle to the turning center.

[0100] At block 414, the exemplary tracking mode controller 116 determines the front wheel steering angle based on the first angle. In some examples, the feedforward wheel angle determiner 210 uses Equation 4 to determine the front wheel steering angle based on the first angle (calculated at block 412).

[0101] At block 416, the exemplary tracking mode controller 116 determines the distance from the turning center position to the front axle. In some examples, the feedforward wheel angle determiner 210 determines the distance from the turning center position to the front axle. In some examples, the feedforward wheel angle determiner 210 uses Equation 2a to determine the distance from the turning center position to the front axle.

[0102] At block 418, the exemplary tracking mode controller 116 determines a first angle between the vehicle wheelbase line and the line extending from the front axle to the turning center position. In some examples, the feedforward wheel angle determiner 210 determines a first angle between the vehicle wheelbase line and the line extending from the front axle to the turning center. In some examples, the feedforward wheel angle determiner 210 uses Equation 3a and / or another trigonometric function to determine the first angle between the vehicle wheelbase line and the line extending from the front axle to the turning center.

[0103] At block 420, the exemplary tracking mode controller 116 determines the rear wheel steering angle based on the first angle. In some examples, the feedforward wheel angle determiner 210 uses Equation 4 to determine the rear wheel steering angle based on the first angle (calculated at block 418).

[0104] In Figure 5 is illustrated that can be by Figure 1 and Figure 2The exemplary machine-readable instructions 500 that the tracking mode controller 116 executes to determine the heading error compensation adjustment amount. Referring to the previous figures and the associated description, Figure 5 The exemplary machine-readable instructions 500 begin with the exemplary tracking mode controller 116 determining the turning center position based on the radius of curvature in the navigation path data (block 502). In some examples, the heading error compensation determiner 214 determines the turning center position based on the radius of curvature in the navigation path data. For example, the navigation path data 206 accessed by the navigation analyzer 208 can be used to determine the turning center position at the current position (e.g., the position along the navigation path corresponding to the position represented in the vehicle position data 202). In some examples, the navigation analyzer 208 determines the turning center position based on the radius of curvature in the navigation path data.

[0105] At block 504, the exemplary tracking mode controller 116 determines the distance between the turning center position and the position sensor 105. In some examples, the navigation analyzer 208 determines the distance between the turning center position and the position sensor 105. In some examples, the feedforward wheel angle determiner 210 determines the distance between the turning center position and the position sensor 105. In some examples, the feedforward wheel angle determiner 210 calculates the distance between the turning center position and the position sensor 105 using Equation 1.

[0106] At block 506, the exemplary tracking mode controller 116 determines whether the vehicle is a front-wheel-steering vehicle. In some examples, the navigation analyzer 208 determines whether the vehicle is a front-wheel-steering vehicle based on the vehicle data 204. In response to the vehicle being a front-wheel-steering vehicle, the process transfers to block 508. Conversely, in response to the vehicle not being a front-wheel-steering vehicle (i.e., being a rear-wheel-steering vehicle instead), the process transfers to block 512.

[0107] At block 508, the exemplary tracking mode controller 116 determines the distance between the rear-wheel axle and the position sensor 105. In some examples, the heading error compensation determiner 214 determines the distance between the rear-wheel axle and the position sensor 105.

[0108] At block 510, the exemplary tracking mode controller 116 determines the desired heading error angle relative to the navigation path heading based on (1) the distance between the turning center position and the position sensor 105 and (2) the distance between the rear-wheel axle and the position sensor 105. In some examples, the heading error compensation determiner 214 uses Equation 5b to determine the desired heading error angle relative to the navigation path heading based on (1) the distance between the turning center position and the position sensor 105 and (2) the distance between the rear-wheel axle and the position sensor 105.

[0109] At block 512, the exemplary tracking mode controller 116 determines the distance between the front wheel axle and the position sensor 105. In some examples, the heading error compensation determiner 214 determines the distance between the front wheel axle and the position sensor 105.

[0110] At block 514, the exemplary tracking mode controller 116 determines a desired heading error angle relative to the navigation path heading based on (1) the distance between the turning center position and the position sensor 105 and (2) the distance between the front wheel axle and the position sensor 105. In some examples, the heading error compensation determiner 214 uses Equation 5a to determine a desired heading error angle relative to the navigation path heading based on (1) the distance between the turning center position and the position sensor 105 and (2) the distance between the front wheel axle and the position sensor 105.

[0111] At block 516, the exemplary tracking mode controller 116 determines a heading error compensation value based on the measured heading error and the desired heading error angle. In some examples, the heading error compensation determiner 214 determines a heading error compensation value based on the measured heading error and the desired heading error angle. In some examples, the heading error compensation determiner 214 uses Equation 6 to determine a heading error compensation value based on the measured heading error and the desired heading error angle.

[0112] Figure 6A FIG. 600 is an exemplary diagram corresponding to the calculation of a feedforward wheel angle for a front wheel steering vehicle as calculated according to the teachings disclosed herein. Diagram 600 includes an exemplary front wheel steering vehicle 602. By way of example, the front wheel steering vehicle 602 can be Figure 1 the front wheel steering vehicle 102a.

[0113] The front wheel steering vehicle 602 includes an exemplary position sensor 604. The position sensor 604 is located between the exemplary rear axle 606 and the exemplary front axle 608 of the vehicle. By way of example, the position sensor 604 can be a GNSS receiver.

[0114] As Figure 6A illustrated, the front wheel steering vehicle 602 is in a tracking mode of following a prescribed curved path. When the front wheel steering vehicle 602 follows a prescribed curved path, the front axle 608, the rear axle 606, and the position sensor 604 all follow different curved paths (e.g., exemplary position sensor path 610, exemplary front axle path 612, and exemplary rear axle path 614). In the tracking mode, Figure 1 and Figure 2 the tracking mode controller 116 of

[0115] In Figure 6A , the front-wheel-steering vehicle 602 turns around the exemplary turning center position 616. The tracking mode controller 116 can determine the turning center position 616 based on the navigation path data 206 and the current vehicle position (e.g., as represented in the vehicle position data 202). The tracking mode controller 116 can use Equation 1, which was previously described and is reproduced below for reference, to determine the length of the first segment 618 from the turning center position 616 to the position sensor 604 (R rec ).

[0116]

[0117] Equation 1

[0118] Similarly, the tracking mode controller 116 can determine the length of the exemplary second segment 620 between the turning center position 616 and the rear axle 606. For example, the tracking mode controller 116 can use Equation 2b, which was previously described and is reproduced below for reference, to calculate the length of the second segment 620 based on the length of the first segment 618 and the distance between the rear axle 606 and the position sensor 604. The first segment 618, the second segment 620, and the line from the position sensor 604 to the rear axle 606 form a right triangle, and thus the length of the second segment 620 can be determined using the Pythagorean theorem.

[0119]

[0120] Equation 2b

[0121] After determining the length of the second segment 620, the angle α between the exemplary third segment 622 extending from the turning center position 616 to the front axle 608 and the centerline of the front-wheel-steering vehicle 602 (e.g., the line connecting the rear axle 606 and the front axle 608) can be determined using Equation 3b, which is repeated below for reference.

[0122]

[0123] Equation 3b

[0124] Finally, the tracking mode controller 116 can determine the feedforward steering angle by using Equation 4, which is reproduced below for reference. The output δ of Equation 4 represents the angle by which the front axle 608 of the front-wheel-steering vehicle 602 is steered in order to cause the position sensor 604 to follow the position sensor path 610.

[0125] δ = (90° - α) × sign(ρ)

[0126] Equation 4

[0127] In Equation 4, the angle calculated as 90 degrees minus α is multiplied by the path curvature value. In Equation 4, the variable sign(ρ) represents the negative or positive sign assigned to the path curvature value by the exemplary position sensor 604.

[0128] Figure 1 The tracking mode controller 116 calculates the feedforward steering angle (e.g., δ) by assuming no slip occurs with respect to the wheels of the vehicle 602 that steer the front wheels (e.g., Figure 1 the rear wheels 110 and / or the front wheels 108). Figure 1 The tracking mode controller 116 calculates the initial feedforward steering angle (e.g., δ) that causes the front wheels of the vehicle 602 that steer the front wheels (e.g., Figure 1 the front wheels 108) to turn in a direction that causes the front wheels of the vehicle 602 to follow the position sensor path 610. In some examples, the feedforward steering angle (e.g., δ) is calculated once, and further calculations are required in subsequent operations to keep the front wheels of the vehicle 602 on a prescribed path.

[0129] Figure 6B is an exemplary schematic diagram 624 corresponding to the calculation of the feedforward wheel angle for an exemplary rear-wheel-steering vehicle 626 calculated in accordance with the teachings disclosed herein. By way of example, the rear-wheel-steering vehicle 626 can be Figure 1 the rear-wheel-steering vehicle 102b.

[0130] The rear-wheel-steering vehicle 626 includes an exemplary position sensor 628. The position sensor 628 is positioned more towards the front end of the vehicle than the exemplary front axle 630. By way of example, the position sensor 628 can be a GNSS receiver.

[0131] As Figure 6B illustrated, the rear-wheel-steering vehicle 626 is in a tracking mode following a prescribed curved path. When the rear-wheel-steering vehicle 626 follows a prescribed curved path, the front axle 630, the exemplary rear axle 632, and the position sensor 628 all follow different curved paths (e.g., the exemplary position sensor path 634, the exemplary front axle path 636, and the exemplary rear axle path 638). In the tracking mode, Figure 1 and Figure 2 the tracking mode controller 116 attempts to cause the position sensor 628 to follow the position sensor path 634.

[0132] In Figure 6BIn this case, the rear-wheel steering vehicle 626 steers around the exemplary turning center position 640. The tracking mode controller 116 may determine the turning center position 640 based on the navigation path data 206 and the current vehicle position (e.g., as represented in the vehicle position data 202). The tracking mode controller 116 may use Equation 1, which was previously described and is reproduced below for reference, to determine the length of the fourth segment 642 from the turning center position 640 to the position sensor 628 (R rec ).

[0133]

[0134] Equation 1

[0135] Similarly, the tracking mode controller 116 may determine the length of the exemplary fifth segment 644 between the turning center position 640 and the front axle 630. For example, the tracking mode controller 116 may use Equation 2a, which was previously described and is reproduced below for reference, to calculate the length of the fifth segment 644 based on the length of the fourth segment 642 and the distance between the front axle 630 and the position sensor 628. The fourth segment 642, the fifth segment 644, and the line from the position sensor 628 to the front axle 630 form a right triangle, and thus the length of the fifth segment 644 can be determined using the Pythagorean theorem.

[0136]

[0137] Equation 2a

[0138] After determining the length of the fifth segment 644, the angle α between the exemplary sixth segment 646 extending from the turning center position 640 to the rear axle 632 and the centerline of the rear-wheel steering vehicle 626 (e.g., the line connecting the rear axle 632 and the front axle 630) can be determined using Equation 3a, which was previously described and is repeated below for reference.

[0139]

[0140] Equation 3a

[0141] Finally, the tracking mode controller 116 can determine the feedforward steering angle by using Equation 4, which is reproduced below for reference. The output δ of Equation 4 represents the angle by which the front axle 630 of the rear-wheel steering vehicle 626 is to be steered in order for the position sensor 628 to follow the position sensor path 634.

[0142] δ = (90° - α) × sign(ρ)

[0143] Equation 4

[0144] In Equation 4, the angle calculated as 90 degrees minus α is multiplied by the path curvature value. In Equation 4, the variable sign(ρ) represents the negative or positive sign assigned to the path curvature value by the exemplary position sensor 628.

[0145] Figure 1 The tracking mode controller 116 of calculates a feedforward steering angle (e.g., δ) by assuming no slip occurs with respect to the wheels of the rear-wheel-steering vehicle 626 (e.g., Figure 1 the rear wheels 110 and / or the front wheels 108). Figure 1 The tracking mode controller 116 of calculates an initial feedforward steering angle (e.g., δ) that causes the front wheels of the rear-wheel-steering vehicle 626 (e.g., Figure 1 the front wheels 108) to turn in a direction that causes the rear-wheel-steering vehicle 626 to follow the position sensor path 634. In some examples, the feedforward steering angle (e.g., δ) is calculated once and further calculations are required in subsequent operations to keep the rear-wheel-steering vehicle 626 on a prescribed path.

[0146] Figure 7A is an exemplary schematic diagram 700 corresponding to the calculation of a heading error compensation adjustment amount for the front-wheel-steering vehicle 602 as calculated according to the techniques disclosed herein. As in Figure 6A the front-wheel-steering vehicle 602 includes a rear axle 606, a front axle 608, and a position sensor 604 disposed between the rear axle 606 and the front axle 608. Additionally, similar to Figure 6A the tracking mode controller 116 can calculate the turning center position 616, the length of the first segment 618 (R Figure 6A ), the length of the second segment 620 (R rec ), and the length of the third segment 622. ra ).

[0147] Figure 7A Illustrates an exemplary disturbed vehicle configuration 702 depicted by the dashed lines. The disturbed vehicle configuration 702 represents a deviation of the vehicle from the desired orientation. For example, the front-wheel-steering vehicle 602 can start in the disturbed vehicle configuration 702 and, after adjusting the control values to reduce the heading error, transition to the orientation of the front-wheel-steering vehicle 602 depicted by the solid lines.

[0148] Schematic diagram 700 includes exemplary measured heading 704. The measured heading 704 corresponds to the heading (e.g., orientation) of the front-wheel-steered vehicle 602 when in the disturbed vehicle configuration 702. Schematic diagram 700 includes exemplary path heading 706 corresponding to the direction of the prescribed curved path of the front axle 608 at the current position of the front-wheel-steered vehicle 602. In some examples, path heading 706 is determined based on navigation path data 206 accessed at navigation analyzer 208. The angular difference between the measured heading 704 and the path heading 706 is referred to as the heading error. Using conventional techniques, if the vehicle steering is controlled to reduce the heading error to zero (e.g., to precisely align the vehicle with the path heading 706), performance will degrade. Thus, according to the techniques disclosed herein, the tracking mode controller 116 calculates a heading error compensation adjustment amount (θ adj ) to cause the front-wheel-steered vehicle 602 to align with the exemplary desired heading 708.

[0149] To calculate the heading error compensation adjustment amount, the tracking mode controller 116 first calculates the desired heading error (θ des ) between the measured heading 704 and the desired heading 708. By way of example, the tracking mode controller 116 can calculate the desired heading error (θ ra-rec ) based on knowledge of the distance (L rec ) between the rear axle and the position sensor 604 and based on the length of the distance between the position sensor 604 and the turning center position 616 (R des ). The tracking mode controller 116 can utilize Equation 5b as previously described (reprinted below for reference) to calculate the desired heading error.

[0150]

[0151] Equation 5b

[0152] Although Equation 5b represents one possible trigonometric relationship that can be used to determine the desired heading error, the tracking mode controller 116 can utilize any one or more measurements and any one or more trigonometric relationships to determine the desired heading error.

[0153] After calculating the desired heading error, the tracking mode controller 116 can use Equation 6 as previously described (reprinted below for reference) to calculate the heading error compensation adjustment value (θ adj ). Equation 6 subtracts the desired heading error from the measured heading error. When the tracking mode controller 116 uses the heading error compensation adjustment value and reduces any heading error exceeding that value to zero, the vehicle becomes aligned with the desired heading 708.

[0154] θ adj = θ meas -θ des

[0155] Equation 6

[0156] Figure 7B corresponds to an exemplary schematic diagram 710 for the calculation of the heading error compensation adjustment amount for the rear-wheel steering vehicle 626 as calculated according to the techniques disclosed herein for Figure 6B .

[0157] As in Figure 6B , the rear-wheel steering vehicle 626 includes a rear axle 632, a front axle 630, and a position sensor 628 disposed at the front end of the rear-wheel steering vehicle 626. In addition, similar to Figure 6B , the tracking mode controller 116 can calculate the turning center position 640, the length of the fourth segment 642 (R rec ), the length of the fifth segment 644 (R fa ), and the length of the sixth segment 646.

[0158] Figure 7B Illustrated is an exemplary disturbed vehicle configuration 712 illustrated by a dashed line. The disturbed vehicle configuration 712 represents the vehicle's deviation from the desired orientation. For example, the rear-wheel steering vehicle 626 can start in the disturbed vehicle configuration 712 and, after adjusting the control value to reduce the heading error, transition to the orientation of the rear-wheel steering vehicle 626 illustrated by a solid line.

[0159] The schematic diagram 710 includes an exemplary measured heading 714. The measured heading 714 corresponds to the heading (e.g., orientation) of the rear-wheel steering vehicle 626 when in the disturbed vehicle configuration 702. The schematic diagram 710 includes an exemplary path heading 716 corresponding to the direction of the prescribed curved path at the position sensor 628. In some examples, the path heading 716 is determined based on the navigation path data 206 accessed at the navigation analyzer 208. The angular difference between the measured heading 714 and the path heading 716 is referred to as the heading error. Using conventional techniques, if the vehicle's steering is controlled to reduce the heading error to zero (e.g., to align the vehicle precisely with the path heading 716), the performance will degrade. Therefore, according to the techniques disclosed herein, the tracking mode controller 116 calculates the heading error compensation adjustment amount (θ adj ) to cause the rear-wheel steering vehicle 626 to align with the exemplary desired heading 718.

[0160] To calculate the heading error compensation adjustment amount, the tracking mode controller 116 first calculates the desired heading error (θ des). For example, the tracking mode controller 116 can be based on the distance (L) between the front axle and the position sensor 628 ra-rec ) and based on the length (R) of the distance between the position sensor 628 and the turning center position 640 rec ) to calculate the desired heading error (θ) des ). The tracking mode controller 116 can use Equation 5a (reprinted below for reference) as previously described to calculate the desired heading error.

[0161]

[0162] Equation 5a

[0163] Although Equation 5a represents one possible trigonometric relationship that can be used to determine the desired heading error, the tracking mode controller 116 can use any one or more measurements and any one or more trigonometric relationships to determine the desired heading error.

[0164] After calculating the desired heading error, the tracking mode controller 116 can use Equation 6 (reprinted below for reference) as previously described to calculate the heading error compensation adjustment value (θ) adj ).

[0165] θ adj = θ meas − θ des

[0166] Equation 6

[0167] In some examples, the specified curved path that the vehicle is to follow can be S-shaped, circular, semi-circular, or any other form of curve. In this way, Figure 1 the tracking mode controller 116 can execute Equations 1 through 6 any number of times depending on the shape of the curve. For example, if the specified curved path is S-shaped, then Figure 1 the tracking mode controller 116 determines the feedforward steering angle (e.g., δ) and the adjusted heading error (e.g., ϴ) ADJ ) for the first time at the first turn and for the second time at the second turn because the two turns curve in opposite directions. In some examples, the tracking mode controller 116 continuously adjusts the feedforward steering angle and / or the adjusted heading error whenever the curvature of the specified curved path changes.

[0168] Figure 8 is configured to execute Figures 3 to 5 the instructions to implement Figure 2Block diagram of an exemplary processor platform 800 for a tracking mode controller 116. The processor platform 800 can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cellular phone, a smart phone, a tablet computer such as an iPad TM ), a personal digital assistant (PDA), an Internet tool, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a game console, a personal video recorder, a set-top box, headphones or other wearable devices, or any other type of computing device.

[0169] The illustrated example of the processor platform 800 includes a processor 812. The illustrated example of the processor 812 is hardware. For example, the processor 812 can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor can be a semiconductor-based (e.g., silicon-based) device. In this example, the processor implements an exemplary navigation analyzer 208, an exemplary feedforward wheel angle determiner 210, an exemplary heading error compensation determiner 214, and an exemplary steering controller 218.

[0170] The illustrated example of the processor 812 includes local memory 813 (e.g., a cache). The illustrated example of the processor 812 communicates via a bus 818 with a main memory that includes volatile memory 814 and non-volatile memory 816. The volatile memory 814 can be implemented by synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS® dynamic random access memory (RDRAM®), and / or any other type of random access memory device. The non-volatile memory 816 can be implemented by flash memory and / or any other desired type of storage device. Access to the main memory 814, 816 is controlled by a memory controller.

[0171] The illustrated example of the processor platform 800 also includes interface circuitry 820. The interface circuitry 820 can be implemented by any type of interface standard, e.g., an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and / or a PCI Express interface.

[0172] In the illustrated example, one or more input devices 822 are connected to the interface circuitry 820. The input device(s) 822 permit a user to enter data and / or commands into the processor 812. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touch screen, a trackpad, a trackball, an isopoint, and / or a voice recognition system.

[0173] One or more output devices 824 are also connected to the interface circuit 820 of the illustrated example. The output device 824 may be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display ((LCD), a cathode ray tube display (CRT), an in-plane switching (IPS) display, a touch screen, etc.), a haptic output device, a printer, and / or a speaker. Thus, the interface circuit 820 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor.

[0174] The interface circuit 820 of the illustrated example also includes a communication device, such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and / or a network interface, to facilitate the exchange of data with an external machine (e.g., any kind of computing device) via a network 826. The communication may be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a field-wireless system, a cellular phone system, etc.

[0175] The illustrated example of the processor platform 800 also includes one or more mass storage devices 828 for storing software and / or data. Examples of such mass storage devices 828 include a floppy disk drive, a hard disk drive, a compact disc drive, a Blu-ray disc drive, a redundant array of independent disks (RAID) system, and a digital versatile disc (DVD) drive.

[0176] Figures 3 to 5 The machine-executable instructions 300, 400, 500, 832 may be stored in the mass storage device 828, the volatile memory 814, the non-volatile memory 816, and / or on a removable non-transitory computer-readable storage medium (e.g., a CD or a DVD).

[0177] In accordance with the foregoing, it will be appreciated that an exemplary method, apparatus, and article of manufacture for determining the commanded front wheel angles and heading error compensation in real time to command a vehicle to follow a prescribed curved path have been disclosed. By eliminating the need to tune the vehicle on-site by calculating accurate heading errors and wheel angles based on prescribed path curvature values by leveraging vehicle kinematics and geometry principles, the disclosed method, apparatus, and article of manufacture improve the efficiency of conventional methods for calculating the commanded wheel angles to follow a prescribed curved path.

[0178] Although specific exemplary methods, apparatuses, and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. Instead, this patent covers all methods, apparatuses, and articles of manufacture that fall entirely within the scope of the claims of this patent.

Claims

1. An apparatus for a vehicle to steer to follow a curved path, comprising: A navigation analyzer configured to: Determine a turning center position based on a radius of curvature of a curved navigation path that the vehicle is to follow; Determine a distance between one of a front axle and a rear axle of the vehicle and the turning center position; And Determine a distance between a position sensor and the turning center position; A feedforward wheel angle determiner configured to determine a wheel steering angle based on (1) the distance between the one of the front axle and the rear axle and the turning center position and (2) a distance between the front axle and the rear axle; A heading error compensation determiner configured to determine a heading error compensation adjustment amount based on (1) the distance between the position sensor and the turning center position, (2) a distance between the one of the front axle and the rear axle and the position sensor, and (3) a measured heading error; A steering controller configured to cause the vehicle to follow the curved navigation path based on the wheel steering angle and the heading error compensation adjustment amount.

2. The device according to claim 1, wherein The vehicle is a rear-wheel steering vehicle; The navigation analyzer is configured to determine a distance between the front axle of the vehicle and the turning center position; The feedforward wheel angle determiner is configured to determine the wheel steering angle based on (1) the distance between the front axle and the turning center position and (2) the distance between the front axle and the rear axle; and The heading error compensation determiner is configured to determine the heading error compensation adjustment amount based on (1) the distance between the position sensor and the turning center position, (2) the distance between the front axle and the position sensor, and (3) the measured heading error.

3. The device according to claim 2, wherein, The position sensor is positioned more towards a front end portion of the vehicle than the front axle.

4. The device according to claim 3, wherein, The feedforward wheel angle determiner is configured to determine the wheel steering angle based on the distance between the turning center position and the front axle.

5. The device according to claim 4, wherein, The steering controller is configured to transmit a steering command to a rear-wheel steering device.

6. The device according to claim 1, wherein The vehicle is a front-wheel steering vehicle, The navigation analyzer is configured to determine a distance between the rear axle of the vehicle and the turning center position; The feedforward wheel angle determiner is configured to determine the wheel steering angle based on (1) the distance between the rear axle and the turning center position and (2) the distance between the front axle and the rear axle; and The heading error compensation determiner is configured to determine the heading error compensation adjustment amount based on (1) the distance between the position sensor and the turning center position, (2) the distance between the rear axle and the position sensor, and (3) the measured heading error.

7. The device according to claim 6, wherein, The position sensor is positioned between the front axle and the rear axle.

8. The device according to claim 7, wherein, The feedforward wheel angle determiner is configured to determine the wheel steering angle based on the distance between the turning center position and the rear axle.

9. The device according to claim 8, wherein The steering controller is configured to transmit a steering command to a front-wheel steering device.

10. The apparatus according to claim 1, wherein, The steering controller is used to adjust the control gain value to reduce the heading error exceeding the heading error compensation adjustment amount.

11. A computer-readable storage medium, the computer-readable storage medium comprising computer-readable instructions that, when executed, cause at least one processor to at least: Determine a turning center position based on a radius of curvature of a curved navigation path that a vehicle is to follow; Determine a distance between one of a front axle and a rear axle of the vehicle and the turning center position; Determine a distance between a position sensor and the turning center position; Determine a wheel steering angle based on (1) the distance between the one of the front axle and the rear axle and the turning center position and (2) a distance between the front axle and the rear axle; Determine a heading error compensation adjustment amount based on (1) the distance between the position sensor and the turning center position, (2) a distance between the one of the front axle and the rear axle and the position sensor, and (3) a measured heading error; and Cause the vehicle to follow the curved navigation path based on the wheel steering angle and the heading error compensation adjustment amount.

12. The computer-readable storage medium according to claim 11, wherein, The computer-readable instructions, when executed, cause the at least one processor to transmit a steering command to at least one of a front wheel steering device or a rear wheel steering device.

13. The computer-readable storage medium according to claim 11, wherein, The computer-readable instructions, when executed, cause the at least one processor to adjust a control gain value to reduce a heading error exceeding the heading error compensation adjustment amount.

14. A vehicle, comprising: A front axle; A rear axle; A position sensor; And The device according to any one of claims 1-10.

15. The vehicle according to claim 14, wherein, The position sensor is a global navigation satellite system receiver.

16. The vehicle according to claim 14, wherein, The wheel steering angle and the heading error compensation adjustment amount are determined based on trigonometric functions.

Citation Information

Patent Citations

  • Automatic navigation control method of agricultural machine

    CN105867377A