Automatic Vehicle Control

The integration of GNSS, IMU, and steering shaft encoder data with a closed-loop filter enables precise vehicle steering, overcoming sensor reliability issues and achieving centimeter-level accuracy without exposed sensors, thus improving steering stability and reducing driver fatigue.

JP2026507732APending Publication Date: 2026-03-05TOPCON POSITIONING SYSTEMS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-01-09
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing vehicle steering systems face challenges in achieving centimeter-level accuracy and stability due to the unreliability of wheel angle sensors exposed to harsh environments and the limitations of velocity control, which leads to steering inaccuracy and increased driver fatigue.

Method used

A vehicle steering method that utilizes GNSS, IMU, and steering shaft encoder data to determine the current wheel angle, combined with a two-tiered closed-loop filter, to accurately control the steering without relying on sensors attached to the wheels, tracks, or other exposed components.

Benefits of technology

This approach achieves precise and stable vehicle steering, minimizing steering errors and reducing driver fatigue by using a closed-loop filter to smooth noise in steering commands, ensuring accurate alignment with desired paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026507732000001_ABST
    Figure 2026507732000001_ABST
Patent Text Reader

Abstract

A vehicle autosteering system having a controller determines steering commands based on GNSS receiver position data, inertial measurement system data, and steering shaft rotation encoder data, and the controller outputs signals to drive an electric motor that rotates the vehicle's steering shaft, thereby varying the steering angle and guiding the vehicle along a predetermined path, e.g., in a straight line.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to automatic vehicle control and steering angle estimation based on Global Navigation Satellite System (GNSS) data, inertial data, and steering shaft encoder data. [Background technology]

[0002] Some vehicle platforms have four wheels, with two axles each having one pair of wheels. Many vehicles allow the front and rear wheels to be turned (e.g., change the wheel angle) to steer the vehicle in a desired direction. Some vehicles allow the front and rear wheels to turn about the vehicle's central axis (e.g., longitudinal axis) to follow a predetermined path. Some vehicles, such as agricultural tractors and harvesters, have the ability to turn the wheels on the front and / or rear axles to drive within a field and make corrections to follow multiple parallel lines (e.g., multiple swaths). Multiple parallel lines are generally the most common path configuration for plowing, tilling, spraying, harvesting, and other operations.

[0003] It is difficult for a driver to manually steer a vehicle accurately without overlapping or underlapping adjacent parallel lines. Line-taking accuracy is important for proper plant growth and forward vehicle operation during the planting and growing season. Providing an appropriate distance between adjacent swaths allows for efficient use of available soil area. While it is possible to maintain the spacing between adjacent swaths using mechanical or painted markers placed on the edges of agricultural equipment attached to the vehicle, this does not improve line-taking accuracy and does not work well in environments with low visibility, such as fog, dust, or rain. Furthermore, manual steering accuracy decreases as driver fatigue increases.

[0004] To address these issues, automatic steering systems have been developed to assist drivers by steering the vehicle. Many of these systems are based on Global Navigation Satellite System (GNSS) technology. A key component of this system is a navigation receiver, which receives and processes radio signals from satellites to provide position data. A receiving antenna can be mounted on the roof of the tractor cab for better visibility into the sky. Several such satellite systems are used in various countries, including the United States' GPS, Russia's GLONASS, the European Union's GALILEO, and China's BEIDOU. Many receivers are configured to receive signals from one or more of these systems. The receiver is configured to calculate the three-dimensional (3D) coordinates of the vehicle (e.g., tractor) in a global Earth coordinate frame. These 3D coordinates are transformed into a local two-dimensional (2D) coordinate frame, which allows the tractor's current position in the field plane to be determined. The control system draws virtual lines in the 2D coordinate frame to represent the required swath and additional parallel lines, separated by a predetermined distance based on the width of the equipment. A typical line is a straight line, which can be defined, for example, by the driver selecting two points (eg, points A and B) that are separated in space on the vehicle's physical location.

[0005] Position accuracy is particularly important for aligned crops. The required accuracy here can be on the order of a few centimeters. GNSS technology itself does not provide such precise position determination. GNSS technology typically provides accuracy of one meter or better. Centimeter-level accuracy can be achieved solely through error corrections delivered by various broadcasting means, such as satellite signals, cellular networks, and / or dedicated radio modems (e.g., operating in the 400 MHz or 900 MHz frequency bands). Corrections facilitate the correction of errors caused by several factors, including the generation of navigation satellite signals by the satellite's electrical system, the satellite's position, and atmospheric conditions. Accurate and precise technologies include real-time kinematics (RTK) and precise point positioning (PPP). RTK integrates multiple error groups and determines corrections using an observation space representation (OSR), typically based on terrestrial broadband (e.g., high-speed) broadcasting means. PPP determines corrections in a state space representation (SSR), as a single stream of correction data representing individual error components within a coverage area. PPP offers advantages over RTK technology in terms of bandwidth requirements, and PPP is typically based on satellite communication services (e.g., Inmarsat, Globalsat, etc.).

[0006] Based on the known tractor position, the distance between the tractor and the desired line (i.e., the vertical offset, called cross-track) can be calculated and this number displayed to the driver on a screen located in the machine's cab, allowing manual steering to make corrections to reach the zero value. This system is called a guidance system. More advanced systems include automatic steering systems, which use actuators to automatically steer the machine to reach the zero value. This improves steering accuracy and minimizes driver fatigue compared to manual steering.

[0007] In addition to GNSS, the autopilot controller may include an inertial measurement unit (IMU) to provide movement data. The IMU may include a combination of internal sensors, such as an accelerometer and a gyro. The accelerometer may be used to measure acceleration (e.g., specific force), which may be a combination of gravity and motion (e.g., translation). The gyro may be used to measure angular velocity (e.g., rotational rate). Both the accelerometer and gyro may have three axes (X, Y, Z) to help determine movement with six degrees of freedom (6 DoF). Data from the IMU, along with GNSS position and velocity data, may be used to calculate a machine state vector, including precise machine position, linear velocity, attitude (pitch, roll, heading), and attitude rate. Roll may be used to compensate for machine tilt to determine the position of the GNSS antenna from the machine's cab roof relative to the ground. This information may be used to calculate the cross track of the machine relative to the ground plane where it is located. A weighted sum of cross track and angular heading offset (i.e., the difference between the tractor heading and the desired heading) can be used as a metric to generate an angle control signal to vary the wheel angle. In order to return the machine to the desired line as quickly as possible, an increase in cross track or angular heading offset requires a larger wheel angle. An actuator can be used to vary the wheel angle.

[0008] A hydraulic cylinder can be used as an actuator to change the current wheel angle. Two types of actuators are commonly used to automatically turn the wheels. The first type is a hydraulic valve connected to the vehicle's hydraulic steering system. The second type is an electric motor configured to rotate the vehicle's steering wheel shaft, which commands the vehicle's hydraulic steering system to activate. The electric motor type is popular in industry and aftermarket installations due to its quick and easy installation process. Electric motors do not require modifications to the machine's hydraulic system, and there is little to no risk of voiding the warranty due to unauthorized modifications to the machine hardware.

[0009] One approach is a variation of the electric steering motor described above. This approach involves a high-torque electric motor (direct-drive motor) and a rotor connected to the vehicle's steering shaft. A stator is connected to the machine's body. A steering wheel for manual operation is located at the top end of the rotor. The motor is an in-runner hollow type. An internal motor controller receives angle commands from the autosteer controller and rotates the steering shaft until the required wheel angle position is reached. The wheel angle position is the angle between the center axis of the machine and the radial axis of the wheel in a horizontal frame, measured by a wheel angle sensor (WAS). This sensor is an electrical device mounted on a tie rod that is part of the Ackermann geometry of the vehicle's steering linkage. The signal from the sensor is interpreted by the internal motor controller, establishing negative feedback for the control loop.

[0010] However, the use of WAS in this type of application is unreliable because they are installed in very dirty locations, are exposed to severe shocks and vibrations, and their housings are subject to direct mechanical shock from plants, stones, and other external objects. WASs contain environmentally sensitive components, such as potential difference (resistive) strips, optical or magnetic strips, and mechanical linkages with bearings to convert wheel rotation into axial motion sensed by sensors. Connecting a WAS to an Ackermann-geometry tie rod can be difficult, and sometimes impossible, due to limited space available in the required location on the machine. Due to all the issues mentioned above, WASs typically have a short lifespan in this type of application. They may also break and require frequent repairs. Furthermore, WASs cannot be easily installed on machines with only two wheels (left and right) that do not have Ackermann geometry, such as windrowers. In this case, the machine is steered by a differential ratio between each steered wheel (e.g., by separate hydraulic motors). Similar problems exist in tracked machines with two tracks (left and right).

[0011] One approach is to use a steering control approach for a position control loop. In this approach, position refers to angle (i.e., wheel angle). This control loop requires a WAS to determine the wheel angle in order to control it. Another approach is to use velocity control. Velocity is the first derivative of position. In this case, velocity refers to angular velocity. Instead of the autosteer controller outputting a command to turn the wheels to a specific angle, the autosteer controller can output a rotation rate command. In response, the motor rotates the steering shaft at a specific rate until the desired result is achieved (i.e., until the metric value of the weighted sum of cross-track and angular heading offset reaches zero). While velocity control does not require a WAS, steering accuracy degrades, especially at low vehicle speeds, and centimeter-level accuracy is often not possible. One reason for this degradation is noise in the turn rate command, due to the natural noise of the IMU and GNSS measurements used in the calculation. During velocity control, steering wheel rotation appears as continuous clockwise (CW) or counterclockwise (CCW) dithering. This dithering prevents the vehicle from following the route accurately. This dithering also causes excessive fatigue on the spool of the hydraulic steering unit. Although it is possible to reduce the dithering by filtering (i.e., smoothing noise) using a low-pass filter (LPF), this introduces a delay (e.g., latency) in the control loop, resulting in very slow steering.

[0012] To avoid the increased delay caused by filtering, an additional gyro can be installed on the machine's tie rod. The advantage of this approach is the absence of mechanical linkages or bearings. The gyro autonomously measures the angular velocity of the wheel, which is then mathematically integrated to determine the angle while limiting noise. While this approach is more reliable than using a mechanical WAS, it still has issues with installation in tight spaces, protection from mechanical shock, sensor cost, and installation time. Furthermore, the performance of controllers using such gyros is limited by the need for filtering. Smoothing filters require a long convergence process because the wheel angle is initially unknown. This long convergence process is necessary because the gyro bias (e.g., an unknown offset from the true value) must be estimated and tracked, and this estimation reduces accuracy during slow vehicle movement. The machine must be driven for some time for the filter to initialize and converge. This makes accurate machine control impossible during the convergence process. Also, windshield or tracked vehicles do not have room for this approach.

[0013] What is needed is a vehicle steering system that accurately steers a vehicle without the need for sensors attached to the wheels, tracks, or other steering components that are exposed to environmental elements. Summary of the Invention

[0014] The vehicle steering method includes receiving vehicle position data from a Global Navigation Satellite System (GNSS) receiver. Vehicle movement data from an Inertial Measurement Unit (IMU) is also received along with steering shaft encoder data from a steering shaft rotation encoder. A current wheel angle of the vehicle is determined based on the vehicle position data, the vehicle movement data, and the steering shaft encoder data. A steering command is determined based on the current wheel angle and the desired wheel angle. In one embodiment, the current wheel angle of the vehicle is determined according to the mathematical formula: TIFF2026507732000002.tif1644, where L is the length between the front and rear axles of the vehicle, and ω z is the vehicle's vertical angular velocity, and V is the vehicle's longitudinal velocity. The solution to this equation may be filtered using a two-tiered closed-loop filter that uses encoder data multiplied by a subtraction rate factor. In one embodiment, the desired wheel angle is determined using the equation w1*Y+w2*θ, where w1 and w2 are weight factors, Y is the cross-track metric, and θ is the angular heading offset.

[0015] A computer-readable medium for automatic steering and an automatic steering system for a vehicle are also described, comprising a GNSS receiver, an IMU, a steering shaft encoder, and a steering motor that transmits data to a steering controller. [Brief explanation of the drawings]

[0016] In the drawings, like numbers describe like components in different views. Like numbers but with different suffixes represent similar components and / or signals but in different cases.

[0017] [Figure 1] FIG. 1 shows the configuration of an automatic steering system according to one embodiment.

[0018] [Figure 2] FIG. 2 shows the configuration of a steering controller according to one embodiment.

[0019] [Figure 3] FIG. 3 illustrates a steering wheel assembly with an electric motor according to one embodiment.

[0020] [Figure 4] Figure 4 shows the parameters for a front-wheel steering vehicle.

[0021] [Figure 5]FIG. 5 shows a graph of wheel angle estimation based on the ratio of ωz / V for a mechanical wheel angle sensor (WAS).

[0022] [Figure 6] FIG. 6 shows a graph with waveforms for bias drift of a steering wheel angle encoder and waveforms for a mechanical WAS.

[0023] [Figure 7] FIG. 7 shows a block diagram of the algorithm used to smooth out noise in the sensed wheel angles.

[0024] [Figure 8] FIG. 8A shows a graph of wheel angle estimation from encoder information.

[0025] FIG. 8B shows a graph of the wheel angle measured by the mechanical WAS.

[0026] [Figure 9] FIG. 9 shows the parameters in the calculation of the desired wheel angle.

[0027] [Figure 10] FIG. 10 illustrates the configuration of a control algorithm used by a motor controller according to one embodiment.

[0028] [Figure 11] FIG. 11A shows a graph displaying cross-track without using encoder information.

[0029] FIG. 11B shows a graph displaying cross-track using encoder information.

[0030] [Figure 12] FIG. 12 illustrates a high-level configuration of a computer that can be used to implement the methods and apparatus described herein. DETAILED DESCRIPTION OF THE INVENTION

[0031] 1 illustrates the configuration of an automatic steering (auto-steer) system 10 according to one embodiment. A steering system 120 is actuated by an electric steering motor 110. A steering controller 100 communicates with the electric steering motor 110 and sends steering commands to the electric steering motor 110 based on data received from various sensors, which are described in more detail below. The steering controller 100 also communicates with a user interface (UI) display 130, which can be used to display information to and receive input from an operator of a machine associated with the steering system 120. The operator can use the UI display 130 to change parameters of the steering controller 100, parameters of the steering motor 110, view system status, and view or set the path the machine will travel.

[0032] The steering system 120 may be one of several types used for vehicles with various numbers of wheels and axles. A typical vehicle has four wheels on two axles, with the front axle supporting two wheels and the rear axle supporting two wheels. Such vehicles can be steered to the right or left by turning the front wheels clockwise or counterclockwise 120 about their vertical axis. To turn the steerable wheels, agricultural machines (e.g., tractors) may have hydraulic cylinders located transverse to the machine's center axis and shafts connected to tie rods in an Ackermann-type steering geometry. The hydraulic cylinders are operated by hydraulic fluid flowing from a pump powered by the machine's diesel engine. The hydraulic fluid flow required to turn the wheels in each direction can be varied by a hydraulic steering unit. A typical type of hydraulic steering unit receives mechanical input from a steering wheel shaft, which is manually rotated by the machine's operator using the steering wheel. According to one embodiment, the hydraulic steering unit receives mechanical input from a steering wheel shaft, with the steering wheel shaft being rotated by an electric motor.

[0033] FIG. 2 shows the configuration of the steering controller 100 according to one embodiment. The antenna 210 is configured to receive signals from GNSS satellites. Various types of antennas can be used to receive Global Navigation Satellite System (GNSS) signals. For example, a patch antenna or a spiral antenna can be used to receive circularly polarized waves. The antennas typically include a low-noise amplifier (LNA) to amplify signals that are often below the natural noise level and to filter out interference. The antenna 210 transmits the received signal to the RF front end 220, which further amplifies the signal, converts the signal to an intermediate frequency, and filters out interference. The signal is then digitized (e.g., sampled by time, quantized by intensity) and processed by the GNSS ASIC 230 to generate position data (e.g., vehicle position data). The antenna 210, the RF front end 220, and the GNSS ASIC 230 can be referred to as a GNSS receiver that outputs position data. The GNSS ASIC 230 includes two main components: a correlator block 232 and a navigation CPU 234. The correlator block 232 demodulates the navigation signal from the pseudorandom noise code and carrier. The navigation CPU 234 estimates the pseudorange, carrier phase, and Doppler frequency. The navigation CPU 234 also estimates the signal energy and analyzes the received data (e.g., information stream) using satellite parameters, almanacs, and ephemeris. The information stream allows the position of the satellites in the sky to be calculated. In one embodiment, information from at least four satellites is used to estimate the following parameters: machine position, velocity, and the time difference between the GNSS receiver's clock reference and the system time to which each satellite clock is synchronized. Various coordinate systems can be used for position calculations. In one embodiment, the coordinate system for vehicle steering is a regional East-North Up (ENU) Cartesian frame connected to the earth's horizon. Velocity is estimated as a vector with XYZ (ENU) components, with the base unit V along the vehicle's longitudinal axis. V is expressed by the formula Calculated by TIFF2026507732000003.tif1841, where V x and V y are the velocity components mentioned above. The navigation engine in the navigation CPU uses formulas that define the mathematical dependencies between the antenna 210 position, each satellite position, antenna velocity, satellite velocity, pseudorange, carrier measurement, Doppler difference, and time difference.

[0034] The position of each satellite is not precisely known. Onboard satellite clocks have drift and pseudoranges, and carrier phases are distorted by delays in the atmosphere (e.g., the ionosphere and troposphere). Differential GNSS is used to correct for these delays. A network of local base stations or GNSS receivers is installed at known locations on the Earth and measures similar sets of pseudoranges and carrier phases. These base receivers are subject to errors nearly identical to those experienced by the steering controller 100. The navigation CPU 234 uses these corresponding sets of pseudorange and carrier phase measurements to self-correct for errors and calculate the position of the antenna 210 as a vector between itself and the base station. The known positions and vectors are then used to determine the precise position of the steering controller 100. This method is called the real-time kinematic (RTK) method. Another method, called precise point positioning (PPP), uses an approach that directly eliminates the errors described above. RTK typically has an accuracy of less than a centimeter, while PPP is typically within a few centimeters. Both methods are widely used in agricultural equipment. Separate radio channels are used to broadcast correction data for PPP and RTK. This could be from a dedicated radio modem, a cellular network, or a satellite channel.

[0035] The inertial measurement unit (IMU) 240 measures inertial values ​​and outputs movement data. For example, if the IMU 240 is installed in a vehicle, it outputs movement data for the vehicle. In one embodiment, the IMU 240 includes a three-axis accelerometer and a three-axis gyro. Each gyro measures angular velocity (turning) and each accelerometer measures acceleration. Each accelerometer measures a vector that is the sum of gravity and dynamic acceleration associated with machine movement. Each gyro and each accelerometer provide X, Y, and Z components in the machine's body frame (e.g., a coordinate frame attached to the machine), with the axes along the machine's central axis X (e.g., longitudinal axis), transverse axis Y, and vertical axis Z. The acceleration components are defined as Ax, Ay, and Az. Angular velocity is expressed as ω x , ω y , ω z is defined as:

[0036] IMU measurements typically have two types of errors: multiplicative errors, such as scalar factors, and non-orthogonal additive errors, such as bias. Multiplicative errors are typically corrected during manufacturing by factory calibration using conversion tables. Bias can only be partially corrected during manufacturing. To remove the effects of bias errors, GNSS integration using long-term stable measurements is required. In one embodiment, the IMU 240 provides complementarity with short-term stable measurements. Integration allows for stable results over both short and long periods of time. In some other embodiments, the IMU 240 has even fewer sensors and axes, such as using only a vertical (Z-axis) gyro to achieve ω z Included are embodiments that measure:

[0037] A microcontroller unit (MCU) 250 performs this integration and uses the position and inertial measurements to calculate control signals for the electric steering motor 110 (shown in FIG. 1). One embodiment involves two successive stages: estimation and control. The MCU 250 combines the data to estimate machine attitude angles, including pitch, roll, and heading, further improving the accuracy of the position and velocity estimates. The tilt angles, pitch, and roll facilitate a proper projection from the antenna position on the cab roof to the ground where the machine is located. These components, combined with heading, facilitate the calculation of control signals based on two metrics: cross-track and angular heading offset. Cross-track is the perpendicular distance between the tractor position above the ground protrusion and the desired track. The angular heading offset is the angle between the track direction and the machine's longitudinal axis (heading). A weighted sum of these two metrics calculates the wheel angle setpoint control target δ. setpoint In stable mode (i.e., all transitions have been completed), all metrics are zero.

[0038] In one embodiment, all of the above components 210, 220, 230, 240, and 250 are housed in a single housing mounted on the roof of the cab of the machine so that they are visible to satellites. In other embodiments, these components may be separated and have different housings. In one embodiment, the antenna 210 may be mounted on the roof of the cab with its own housing. The IMU 240 may be mounted on the frame of the machine with its own housing. The RF front end 220 and the GNSS ASIC 230 may be located in the same module mounted in the cab with their own housing, or may be located in combination with the UI display 130. The MCU 250 may be mounted in the cab with its own housing or in combination with the UI display 130.

[0039] FIG. 3 shows a steering wheel assembly 300 with an electric steering motor 110 according to one embodiment. In this embodiment, the electric steering motor 110 is an in-runner hollow-bore motor. The machine operator uses the steering wheel 305 for manual steering (e.g., on roads, fields, or other surfaces). If an object or person naturally appears in the machine's path, the operator overrides the automatic system and reflexively turns the steering wheel to prevent an accident. A decorative plastic cover 310 conceals the mounting hardware and typically bears the logo of the machine manufacturer or steering equipment distributor. Various bolts and fasteners 320 are used to hold the assembly together. A bearing system 325 allows each part to rotate relative to each other with minimal friction. Housings 327 and 328 are each half of the machine's enclosure and are configured to protect the motor from external impacts and isolate the operator and machine from the internal electrical circuitry. Gasket 330 provides dust and water resistance (IP). A plurality of powerful permanent magnets made from a rare earth metal (typically neodymium) alloy form a multi-polar ring 332 mounted on a hollow rotor 337. The hollow rotor 337 rotates the steering wheel relative to a housing 328 that is rigidly mounted to the machine body. A multi-polar stator 335 generates an alternating magnetic field that interacts with the permanent magnetic field of the ring 332 to cause the ring 332 to rotate. The stator 335 contains a plurality of electrical coils.

[0040] Encoder 339 (also referred to as steering shaft rotation encoder) is comprised of an indexed / coded disk 340 and an optical sensor 342 and is located within steering wheel assembly 300 to generate steering shaft encoder data. In one embodiment, encoder 339 is a high-precision incremental optical encoder with disk 340 rigidly mounted to rotate rotor 337. Optical sensor 342 includes an LED and a photoelement and is rigidly connected to housing 328. Light from the LED passes through multiple slots in disk 340, and the amount of rotation can be detected by counting the number of pulses output by the photoelement in optical sensor 342. The photoelement in optical sensor 342 may be a photodiode or phototransistor. The rotation angle can be calculated as a result of a known angle between adjacent slots and the number of counted pulses. To determine the direction of rotation (e.g., clockwise or counterclockwise), two photoelements with some angular offset are mounted within optical sensor 342. The incremental encoder outputs the angle between the steering shaft and the machine body, but with some bias that changes with each power cycle when the driver manually turns the steering wheel with motor power off.

[0041] In one embodiment, the encoder is absolute and does not have a new bias with each power cycle. Absolute encoders use end switches or more complex coded indexing disks. End switch encoders require the wheel to rotate to an end position for angle initialization with each power cycle. Coded disk encoders allow the absolute angle to be determined without rotating the wheel.

[0042] For other embodiments, it is conceivable to use other types of encoders based on magnetic (Hall sensors) or potentiometric principles.

[0043] The motor controller board 350 includes a power supply unit and a microcontroller. The microcontroller is configured to interpret the output of the optical sensor 342 of the encoder 339. The microcontroller board 350 is further configured to operate the control coil 335 to achieve the desired rotation of the electric steering motor 110. The motor controller board 350 controls a status LED 360, which can be illuminated to provide an indication that the autopilot system 10 is activated. The motor controller board 350 also provides a data interface to the steering controller 100 via a connector 355. In one embodiment, the interface uses a Controller Area Network (CAN) protocol. A switch 385 is used to turn the autopilot system 10 on and off. An air valve 390 with a mounting plate 392 allows the pressure within the enclosure formed by the respective housing halves 327 and 328 to equalize with atmospheric pressure.

[0044] FIG. 4 illustrates parameters for a front-wheel-steered vehicle. For purposes of describing and calculating the kinematics of a steered vehicle, an overhead view of a tricycle model vehicle 120 is used. Differences between a typical four-wheeled machine and a tricycle can be considered negligible, and a tricycle can be used for geometric simplicity. The vehicle 120 has a pair of non-steerable rear wheels 410 and a steerable front wheel 415. The length of the front and rear axles is represented as L 417. The vehicle 120 moves at a linear velocity V 418 along a center axis 420 calculated in the steering controller 100 described above. The steerable front wheels can be turned at an angle δ 425 from the center axis 420 by hydraulic cylinders activated in response to rotation of the steering shaft, either by manual turning or by turning the electric steering motor according to the method described above. The steerable wheels can be turned from a current wheel angle to a desired wheel angle responsive to data received from the sensors. As shown, the turned wheel 415 moves a special point O 422, located at the center of the rear axle of the vehicle 120, along a circle 430 having a radius R 435 at a vertical angular velocity ωz 440. The vertex of a triangle 450 near the center of the circle 430 has an angle δ 425, which is equal to the steering angle δ 425. The angle δ 425 (e.g., the current wheel angle) can be determined using the following equation:

[0045] TIFF2026507732000004.tif18112

[0046] where V=ω z *R.

[0047] The angle δ is the ω measured by the gyro in IMU 240 with correction for bias. zIt can be calculated based on the angular velocity, the V velocity measured by the GNSS receiver, and a fixed length L measured beforehand on the machine so that the value is known for calculating the angle δ~. In one embodiment, R can be determined using vehicle position data and vehicle movement data. The tilde symbol ("~") shown in the superscript of the angle δ~ is used to indicate that the angle δ~ is a measured value. As mentioned above, data relating to the angle δ~ is very noisy. The angular velocity ω z has inherent noise caused by thermal noise, vibration, and other effects that affect the gyro. The velocity V, located in the denominator, is typically low, tending toward zero for slow-moving machines. Such a small denominator can increase the effect of the gyro's inherent noise in the value of the angle δ~. This increase in noise can interfere with accurate steering of the machine in automatic mode. The machine's front wheels may begin to dither back and forth along the desired path, and the path traveled may not be straight because the dithering of the front wheels causes the machine to oscillate along the desired path.

[0048] Figure 5 shows the ω for the mechanical wheel angle sensor (WAS). z 5 shows a graph of wheel angle estimation over time based on the ratio of ω / V. Waveform 510 (i.e., the dashed line) represents the angular velocity ω of a machine with active autosteer moving along a straight line, as calculated using equation (1). z / V). Furthermore, FIG. 5 shows waveform 520 (i.e., solid line) representing the wheel angle measured directly by a mechanical wheel angle sensor (WAS) attached to the tie rod of an Ackermann-type steering geometry as a reference angle δ for correction purposes. The autosteering already described uses this WAS in the control loop. Graph 510 shows a strong noise error when compared to graph 520.

[0049] Typically noise is removed using low pass filtering (LPF), however in the present case an LPF is not considered beneficial as it would introduce delays (e.g. latency) in the control loop and could cause the machine to react very slowly in response to spurious shocks caused by irregularities in the surface over which the machine is moving.

[0050] In one embodiment, highly accurate data from the encoder 339 is used to remove noise. The encoder measurement indicates shaft rotations, which can be converted to equivalent wheel rotations using a constant reduction rate (RR) factor. To do this properly, bias in the encoder measurement must be considered. There are two sources of bias. The first is a constant initial offset in incremental encoders. The second is associated with hydraulic oil leaks in the steering unit that disrupt proper operation of the encoder. The bias slowly changes in real time and should be tracked.

[0051] FIG. 6 shows a graph with waveforms for the bias (also called drift) of the steering wheel angle encoder and for the mechanical WAS. Waveform 610 (i.e., the dashed line) represents the encoder 339 measurement converted to an equivalent wheel angle using a fixed RR factor, compared to waveform 620 (solid line) from the mechanical WAS. The steering wheel rotated forward and backward twice during the data collection interval. The two jumps / pulses in waveforms 610 and 620 correspond to these rotations. The constantly changing bias 630 value is the difference between the converted encoder 339 data and the true value from the WAS at each instant. The noise levels in both the encoder 339 and the WAS are nearly identical. There is little loss of accuracy between the wheel angle based on the encoder data and that measured by the mechanical WAS. There is no loss of accuracy according to equation (1). However, the bias 630 should be subtracted from the encoder 339 measurement to estimate it.

[0052] FIG. 7 shows a block diagram of a filtering algorithm used to smooth noise in the sensed wheel angles. One embodiment of the wheel angle filter algorithm 700 includes the following components: A noisy measurement of angle δ̂ 710, calculated using Equation (1), is passed through the filter algorithm to produce a clean and accurate estimated angle δ̂ 712. The caret symbol ('^') superscripted on angle δ̂ is used to indicate that angle δ̂ is an estimate, as opposed to angle δ̂, which indicates a measured value. Note that both angle δ̂ and angle δ̂ represent the current wheel angle. A subtraction unit 720 subtracts its output δ̂ 712 from its input δ̂ 710. The minus sign below subtraction unit 720 is used to indicate that 700 is a negative feedback loop filter. The difference output from subtraction unit 720 is amplified by a factor K1 in amplifier 725. The difference output from subtraction unit 720 is further amplified by K2 in amplifier 727 and stored (i.e., integrated) in block 729. Adder 730 sums both inputs and stores the result in block 735. Encoder data 750 from encoder 339 is converted to an equivalent wheel angle by multiplication with an RR factor in block 760. The output of block 760 is then combined with the result of integration 735 in adder 740. Adder 740 outputs the accurate estimated angle δ̂ 712. This is a two-stage closed loop because it has both proportional and integral components. If bias 630, shown in Figure 6, were continuous, it would be approximated by a linear function, so more than two stages would be used. Factors K1 and K2 are tuning parameters adjusted to provide the appropriate filtering rate for the bias (i.e., drift) and to smooth transients during initialization. Alternatively, other types of filtering can be used. In this embodiment, the highly accurate, but not highly precise, encoder 339 data is combined with the less accurate, but highly accurate, δ~710 data.This allows each to complement the other, resulting in a δ^712 that is both highly precise and highly accurate.

[0053] Figure 8A shows a waveform 810 of the accurate estimated wheel angle δ̂ over time based on experimental data. For comparison, Figure 8B shows a waveform 820 of the wheel angle over time measured directly by a mechanical WAS. The steering wheel is rotated forward and backward twice intensively. It can be seen that the waveforms 810 and 820 are nearly identical, indicating the absence of noise and bias.

[0054] FIG. 9 illustrates the parameters in the calculation of the desired wheel angle. A tricycle model vehicle 120 is shown located on a farm with parallel straight lines 901, 902, and 903. The vehicle 120 is to be automatically steered to follow one of these three lines (currently, the vehicle 120 is shown following line 902). A special point O 422 has a perpendicular distance Y 910 to line 902, which is called the cross-track metric. This metric Y is used not only for algorithm calculations but also as a measure of steering quality, with typical deviations expected to be on the order of a few centimeters. The center axis 420 of the vehicle 120 forms an angle θ 920 with line 902, which is called the angular heading offset metric. For the vehicle 120 to follow line 902, both metrics (i.e., cross-track and angular heading offset) should be minimized and near zero (when considered using absolute values). For proper field operation, the special point O 422 should be aligned with the line 902, so the cross-track should be zero. The center axis 420 should be aligned with the direction of the line 902, so the angular orientation offset should be zero. If the direction of the center axis 420 and the line 902 were not aligned, the vehicle 120 would move away from the line 902 based on its velocity V, even though the special point O 422 is aligned with the line 902. However, the vehicle 120 only has one degree of freedom, the wheel steering angle δ 425, to control these two metrics to achieve the desired vehicle angle. Thus, the two metrics can be converted into a single scalar form, the desired wheel angle (called the set point), by the following linear equation:

[0055] δ setpoint =w1*Y+w2*θ (2)

[0056] where w1 and w2 are weight factors, and w1 + w2 = 1. This condition means that an increase in w1 causes a decrease in w2, and vice versa.

[0057] Tuning of w1 and w2 may be used to achieve desired steering performance. The larger w1, the faster the response to cross-track steering of the steering wheel. The larger w2, the faster the response to angular heading offset of the steering wheel. Balancing w1 and w2 provides a fast transition process in the initial line 902 from the side position and accurate, smooth tracking of the line 902 without oscillations. Other algorithms may be used as well.

[0058] 10 illustrates the configuration of a control algorithm used by the microcontroller unit 250 shown in FIG. 2 according to one embodiment. According to one embodiment, the control algorithm is a control loop for controlling the electric steering motor 110. In this embodiment, the control loop functions as a proportional (P) controller. The input is the wheel angle δ setpoint 1020 is the desired value. The subtraction unit 1030 subtracts the input δ setpoint 10. The estimated angle δ̂ 712 is subtracted from the angle δ̂ 710 in amplifier 1050. The difference between the two is then amplified by Kp in amplifier 1050, which sets the speed and direction (e.g., sign) of rotation of the electric steering motor 110. The control loop in Figure 10 turns the wheels of the machine 120 based on the angle δ̂ 710 and the encoder data 750, both of which are input from wheel angle filter 700. Filter 700 outputs the estimated angle δ̂ 712, which is input to subtraction unit 1030. Other loops can be used as well.

[0059] FIG. 11A shows waveform 1110, representing cross-track error Y, when the control loop does not use encoder data 750 but only uses noisy δ~710. FIG. 11B shows waveform 1120, representing cross-track error Y, of a machine driving a straight line with auto-steering according to the control algorithm of FIG. 10 using both noisy δ~710 and encoder data 750. It can be seen in waveform 1110 that the noise in δ~710 penetrates the control loop, resulting in wheel dithering and noisy cross-track error, a condition unsuitable for typical agricultural applications. Waveform 1120, compared to waveform 1110, is less noisy, with typical deviations on the order of a few centimeters, making it suitable for agricultural applications. To highlight these differences in machine specifications, the data for these graphs was collected using an articulated machine. Such machines are highly sensitive to the accuracy of angle δ~710 due to their unique kinematic configuration, designed to minimize turning radius, making them highly sensitive to inaccurate steering commands due to noise.

[0060] In various embodiments, the machine may be front-wheel steering, rear-wheel steering, or all-wheel steering. The machine may also be coupled with a steerable tractor portion (i.e., frames mounted to each other via a revolute joint) that is rotatably connected to a trailer portion. Alternatively, the machine may be a tracked machine, or a windrower having two active front wheels and two passive rear wheels. In one embodiment, steering may be performed by different angular velocities between left and right paths or between each front wheel. In many embodiments, the machine has a steering shaft connected to an electric steering motor 110.

[0061] While various components have been described as being implemented using application-specific integrated circuits (ASICs), other embodiments may be used as well. For example, in various embodiments, a computer may be used to implement various devices (i.e., the UI display, the GNSS controller, the electric steering motor, the RF front end, the MCU, the IMU, the algorithm of FIG. 7 , the algorithm of FIG. 10 , etc.) and to perform the various methods and operations described herein. FIG. 12 illustrates a high-level block diagram of such a computer. The computer 1202 includes a processor 1204 that controls the operation of the computer 1202 by executing computer program instructions that define the overall operation of the computer. The computer program instructions may be stored in a storage device 1212 or other computer-readable medium (e.g., a magnetic disk, a CD-ROM, etc.) and written to the memory 1210 when execution of the computer program instructions is desired. In this manner, the methods and operations described herein may be defined by computer program instructions stored in the memory 1210 and / or the storage device 1212 and controlled by the processor 1204 executing the computer program instructions. For example, the computer program instructions may be embodied as computer-executable code programmed by one skilled in the art to perform the algorithms defined by the methods and operations described herein. The processor 1204 thereby executes the computer program instructions to perform the algorithms defined by the methods and operations described herein. The computer 1202 also includes one or more network interfaces 2606 for communicating with other devices over a network. The computer 1202 also includes input / output devices 2608 that allow a user to interact with the computer 1202 (e.g., a display, keyboard, mouse, speakers, buttons, etc.).Those skilled in the art will recognize that an actual computer implementation may include other components, and will understand that FIG. 12 is a high-level representation of some of such computer components for illustrative purposes.

[0062] The foregoing detailed description is to be understood in all respects as illustrative and illustrative, but not restrictive, and the scope of the inventive concepts disclosed herein is to be construed to the fullest extent permitted by applicable patent law. The embodiments shown and described herein are merely illustrative of the principles of the inventive concepts, and those skilled in the art will recognize that various modifications can be made without departing from the scope and spirit of the invention. Those skilled in the art will recognize that other combinations of the various features can be made without departing from the scope and spirit of the inventive concepts.

Claims

1. A vehicle steering method, comprising: receiving vehicle position data from a Global Navigation Satellite System (GNSS) receiver; receiving vehicle movement data from an inertial measurement unit (IMU); receiving steering shaft encoder data from a steering shaft rotation encoder; determining a current wheel angle of the vehicle based on the vehicle position data, vehicle movement data, and steering shaft encoder data; and determining a steering command based on the current wheel angle and the desired wheel angle; It consists of:

2. 2. The method of claim 1, wherein the current wheel angle of the vehicle is determined using the following formula: where L is the length between the front and rear axles of the vehicle, and ω z is the vertical angular velocity of the vehicle and V is the longitudinal velocity of the vehicle.

3. 3. The method of claim 2, wherein ω z is characterized by being measured as vehicle movement data using a vertical gyro.

4. 4. The method of claim 3, wherein V is determined using vehicle position data.

5. 5. The method of claim 4, wherein the desired wheel angle is determined using the following formula: w 1 *Y+w 2 *θ Here w 1 and w 2 is a weight factor, Y is a cross-track metric, and θ is an angular orientation offset.

6. 3. The method of claim 2, wherein the solution to the mathematical equation is filtered using a two-stage closed-loop filter.

7. 7. The method of claim 6, wherein the two-stage closed-loop filter uses encoder data multiplied by a subtraction rate factor.

8. An automatic steering system for a vehicle, a Global Navigation Satellite System (GNSS) receiver that transmits vehicle position data to the steering controller; an inertial measurement unit (IMU) that transmits vehicle movement data to the steering controller; and a steering shaft rotation encoder that transmits steering shaft encoder data to the steering controller; The steering controller determining a current wheel angle using the vehicle position data, the vehicle movement data, and the steering shaft encoder data; determining a steering command based on the current wheel angle and the desired wheel angle; and transmitting the steering command to a steering motor; Characterized by:

9. 9. The system of claim 8, wherein the current wheel angle of the vehicle is determined using the following formula: where L is the length between the front and rear axles of the vehicle, and ω z is the vertical angular velocity of the vehicle and V is the longitudinal velocity of the vehicle.

10. 10. The system of claim 9, wherein ω z is characterized by being measured as vehicle movement data using a vertical gyro.

11. 11. The system of claim 10, wherein V is determined using vehicle position data.

12. 12. The system of claim 11, wherein the desired wheel angle is determined using the following formula: w 1 *Y+w 2 *θ Here w 1 and w 2 is a weight factor, Y is a cross-track metric, and θ is an angular orientation offset.

13. 10. The system of claim 9, wherein the solution to the mathematical equation is filtered using a two-stage closed-loop filter.

14. 14. The system of claim 13, wherein the two stage closed loop filter uses encoder data multiplied by a subtraction rate factor.

15. 1. A computer readable medium storing computer program instructions for determining a location of a mobile station, the computer program instructions, when executed on a processor, causing the processor to perform operations comprising: receiving vehicle position data from a Global Navigation Satellite System (GNSS) receiver; receiving vehicle movement data from an inertial measurement unit (IMU); receiving steering shaft encoder data from a steering shaft rotation encoder; determining a current wheel angle of the vehicle based on the vehicle position data, vehicle movement data, and steering shaft encoder data; and Determining a steering command based on the current wheel angle and the desired wheel angle.

16. 16. The computer readable medium of claim 15, wherein the current wheel angles of the vehicle are determined using the following formula: where L is the length between the front and rear axles of the vehicle, ωz is the vertical angular velocity of the vehicle, and V is the longitudinal velocity of the vehicle.

17. 17. The computer-readable medium of claim 16, wherein ωz is measured as vehicle movement data by a vertical gyro.

18. 20. The computer-readable medium of claim 17, wherein V is determined using vehicle position data.

19. 20. The computer readable medium of claim 18, wherein the desired wheel angle is determined using the following formula: w 1 *Y+w 2 *θ Here w 1 and w 2 is a weight factor, Y is a cross-track metric, and θ is an angular orientation offset.

20. 17. The computer-readable medium of claim 16, wherein the solution to the mathematical equation is filtered using a two-stage closed-loop filter.