The slope angle of a blade on an earthmoving machine is automatically controlled based on measurements from a three-axis gyroscope, a blade slope angle tilt sensor, and a blade tip angle tilt sensor mounted on the blade. A three-axis gyroscope has high dynamic response and high resistance to mechanical disturbances but is subject to potentially unbounded errors. A tilt sensor has bounded errors but has a slow dynamic response and a high sensitivity to mechanical disturbances. The combination of a three-axis gyroscope and two tilt sensors provides an advantageous measurement system. Algorithms for performing proper fusion of the measurements account for the lack of synchronization between the three-axis gyroscope and the tilt sensors and also screen out invalid measurements from the tilt sensors. The blade slope angle is controlled based on a reference blade slope angle and an estimate of the blade slope angle computed from properly fused measurements.
|
1. A method for controlling a blade mounted on a vehicle, the method comprising the steps of:
receiving at a first time a first computed roll angle estimate and a first computed pitch angle estimate, wherein the first computed roll angle estimate and the first computed pitch angle estimate are based at least in part on a first angular velocity measurement about a first axis, a second angular velocity measurement about a second axis, and a third angular velocity measurement about a third axis from a three-axis gyroscope mounted on the blade, wherein the first axis, the second axis, and the third axis are orthogonal;
receiving at a second time a second computed roll angle estimate and a second computed pitch angle estimate, wherein the second computed roll angle estimate and the second computed pitch angle estimate are based at least in part on a fourth angular velocity measurement about the first axis, a fifth angular velocity measurement about the second axis, and a sixth angular velocity measurement about the third axis from the three-axis gyroscope mounted on the blade;
receiving at a third time a blade slope angle measurement from a blade slope angle tilt sensor mounted on the blade;
receiving at a fourth time a blade tip angle measurement from a blade tip angle tilt sensor mounted on the blade;
determining whether a first time condition is satisfied, wherein the first time condition is represented by:
the third time is greater than the first time and less than or equal to the second time;
upon determining that the first time condition is satisfied:
determining whether the received blade slope angle measurement is valid;
determining whether a second time condition is satisfied, wherein the second time condition is represented by:
the fourth time is greater than the first time and less than or equal to the second time;
upon determining that the second time condition is satisfied:
determining whether the received blade tip angle measurement is valid; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing with a processor an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, the received blade slope angle measurement, and the received blade tip angle measurement.
25. A computer readable medium storing computer program instructions for controlling a blade mounted on a vehicle, wherein the computer program instructions, when executed by a processor, causes the processor to perform a method comprising the steps of:
receiving at a first time a first computed roll angle estimate and a first computed pitch angle estimate, wherein the first computed roll angle estimate and the first computed pitch angle estimate are based at least in part on a first angular velocity measurement about a first axis, a second angular velocity measurement about a second axis, and a third angular velocity measurement about a third axis from a three-axis gyroscope mounted on the blade, wherein the first axis, the second axis, and the third axis are orthogonal;
receiving at a second time a second computed roll angle estimate and a second computed pitch angle estimate, wherein the second computed roll angle estimate and the second computed pitch angle estimate are based at least in part on a fourth angular velocity measurement about the first axis, a fifth angular velocity measurement about the second axis, and a sixth angular velocity measurement about the third axis from the three-axis gyroscope mounted on the blade;
receiving at a third time a blade slope angle measurement from a blade slope angle tilt sensor mounted on the blade;
receiving at a fourth time a blade tip angle measurement from a blade tip angle tilt sensor mounted on the blade;
determining whether a first time condition is satisfied, wherein the first time condition is represented by:
the third time is greater than the first time and less than or equal to the second time;
upon determining that the first time condition is satisfied:
determining whether the received blade slope angle measurement is valid;
determining whether a second time condition is satisfied, wherein the second time condition is represented by:
the fourth time is greater than the first time and less than or equal to the second time;
upon determining that the second time condition is satisfied:
determining whether the received blade tip angle measurement is valid; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, the received blade slope angle measurement, and the received blade tip angle measurement.
13. An apparatus for controlling a blade mounted on a vehicle, the apparatus comprising:
a processor;
memory operably coupled to the processor; and
a data storage device operably coupled to the processor, wherein the data storage device stores computer program instructions, which, when executed by the processor, causes the processor to perform a method comprising the steps of:
receiving at a first time a first computed roll angle estimate and a first computed pitch angle estimate, wherein the first computed roll angle estimate and the first computed pitch angle estimate are based at least in part on a first angular velocity measurement about a first axis, a second angular velocity measurement about a second axis, and a third angular velocity measurement about a third axis from a three-axis gyroscope mounted on the blade, wherein the first axis, the second axis, and the third axis are orthogonal;
receiving at a second time a second computed roll angle estimate and a second computed pitch angle estimate, wherein the second computed roll angle estimate and the second computed pitch angle estimate are based at least in part on a fourth angular velocity measurement about the first axis, a fifth angular velocity measurement about the second axis, and a sixth angular velocity measurement about the third axis from the three-axis gyroscope mounted on the blade;
receiving at a third time a blade slope angle measurement from a blade slope angle tilt sensor mounted on the blade;
receiving at a fourth time a blade tip angle measurement from a blade tip angle tilt sensor mounted on the blade;
determining whether a first time condition is satisfied, wherein the first time condition is represented by:
the third time is greater than the first time and less than or equal to the second time;
upon determining that the first time condition is satisfied:
determining whether the received blade slope angle measurement is valid;
determining whether a second time condition is satisfied, wherein the second time condition is represented by:
the fourth time is greater than the first time and less than or equal to the second time;
upon determining that the second time condition is satisfied:
determining whether the received blade tip angle measurement is valid; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, the received blade slope angle measurement, and the received blade tip angle measurement.
2. The method of
upon determining that the first time condition is not satisfied and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle.
3. The method of
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement.
4. The method of
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement.
5. The method of
receiving a reference blade slope angle; and
controlling the blade slope angle based at least in part on the received reference blade slope angle and the computed estimate of the blade slope angle.
6. The method of
receiving a reference blade slope angle;
computing an estimate of the fourth angular velocity based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, and the received blade tip angle measurement; and
controlling the blade slope angle based at least in part on the received reference blade slope angle, the computed estimate of the blade slope angle, and the computed estimate of the fourth angular velocity.
7. The method of
determining a first estimate of a bias of the fourth angular velocity measurement;
determining a first estimate of a bias of the fifth angular velocity measurement;
computing a first estimate of a roll angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement; and
computing a first estimate of a pitch angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, and the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
8. The method of
computing a corrected estimate of the roll angle, a corrected estimate of the pitch angle, a corrected estimate of the bias of the fourth angular velocity measurement, and a corrected estimate of the bias of the fifth angular velocity measurement based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, the received blade tip angle measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
10. The method of
11. The method of
14. The apparatus of
upon determining that the first time condition is not satisfied and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle.
15. The apparatus of
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement.
16. The apparatus of
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement.
17. The apparatus of
receiving a reference blade slope angle; and
controlling the blade slope angle based at least in part on the received reference blade slope angle and the computed estimate of the blade slope angle.
18. The apparatus of
receiving a reference blade slope angle;
computing an estimate of the fourth angular velocity based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, and the received blade tip angle measurement; and
controlling the blade slope angle based at least in part on the received reference blade slope angle, the computed estimate of the blade slope angle, and the computed estimate of the fourth angular velocity.
19. The apparatus of
determining a first estimate of a bias of the fourth angular velocity measurement;
determining a first estimate of a bias of the fifth angular velocity measurement;
computing a first estimate of a roll angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement; and
computing a first estimate of a pitch angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, and the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
20. The apparatus of
computing a corrected estimate of the roll angle, a corrected estimate of the pitch angle, a corrected estimate of the bias of the fourth angular velocity measurement, and a corrected estimate of the bias of the fifth angular velocity measurement based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, the received blade tip angle measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
22. The apparatus of
23. The apparatus of
24. The apparatus of
26. The computer readable medium of
upon determining that the first time condition is not satisfied and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate;
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle estimate; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate and the received second computed pitch angle.
27. The computer readable medium of
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, and the second time condition is not satisfied:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is valid, the second time condition is satisfied, and the received blade tip angle measurement is not valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade slope angle measurement.
28. The computer readable medium of
upon determining that the first time condition is not satisfied, the second time condition is satisfied, and the received blade tip angle is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement; and
upon determining that the first time condition is satisfied, the received blade slope angle measurement is not valid, the second time condition is satisfied, and the received blade tip angle measurement is valid:
computing an estimate of the blade slope angle based at least in part on the received second computed roll angle estimate, the received second computed pitch angle estimate, and the received blade tip angle measurement.
29. The computer readable medium of
receiving a reference blade slope angle; and
controlling the blade slope angle based at least in part on the received reference blade slope angle and the computed estimate of the blade slope angle.
30. The computer readable medium of
receiving a reference blade slope angle;
computing an estimate of the fourth angular velocity based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, and the received blade tip angle measurement; and
controlling the blade slope angle based at least in part on the received reference blade slope angle, the computed estimate of the blade slope angle, and the computed estimate of the fourth angular velocity.
31. The computer readable medium of
determining a first estimate of a bias of the fourth angular velocity measurement;
determining a first estimate of a bias of the fifth angular velocity measurement;
computing a first estimate of a roll angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement; and
computing a first estimate of a pitch angle based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, and the sixth angular velocity measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
32. The computer readable medium of
computing a corrected estimate of the roll angle, a corrected estimate of the pitch angle, a corrected estimate of the bias of the fourth angular velocity measurement, and a corrected estimate of the bias of the fifth angular velocity measurement based at least in part on the fourth angular velocity measurement, the fifth angular velocity measurement, the sixth angular velocity measurement, the received blade slope angle measurement, the received blade tip angle measurement, the determined first estimate of the bias of the fourth angular velocity measurement, and the determined first estimate of the bias of the fifth angular velocity measurement.
34. The computer readable medium of
35. The computer readable medium of
36. The computer readable medium of
|
This application claims the benefit of U.S. Provisional Application No. 61/453,256 filed Mar. 16, 2011, which is incorporated herein by reference.
The present invention relates generally to earthmoving machines, and more particularly to automatic blade slope control.
Construction machines referred to as earthmoving machines are used to shape a plot of land into a desired ground profile. Examples of earthmoving machines include bulldozers and motor graders. Bulldozers are used primarily for coarse movement of earth; motor graders are used primarily for fine control of the final ground profile. Bulldozers and motor graders are equipped with a blade to move earth. The blade position and blade attitude are adjustable. Blade position can be specified by parameters such as blade elevation and blade sideshift. Blade attitude can be specified by parameters such as blade tip angle and blade slope angle.
Blade position and blade attitude are often manually controlled by a machine operator. To improve operational speed and precision, automatic control is desirable. Various automatic control systems have been deployed. They vary in complexity, cost, number of parameters controlled, response time, and precision.
A blade mounted on a vehicle is automatically controlled based on measurements received from a three-axis gyroscope and two tilt sensors mounted on the blade. Measurements from the three-axis gyroscope include angular velocity measurements about three orthogonal axes. Measurements from the two tilt sensors include a blade slope angle and a blade tip angle. Measurements from the three-axis gyroscope and the two tilt sensors are fused. The three-axis gyroscope and the tilt sensors are not synchronized. Algorithms for proper fusion of the measurements account for the time sequence of the measurements. A measurement from a tilt sensor is not fused with measurements from the three-axis gyroscope if the measurement from the tilt sensor is older than the measurements from the three-axis gyroscope. A measurement from a tilt sensor is also not fused with measurements from the three-axis gyroscope if the measurement from the tilt sensor is invalid due to mechanical disturbances.
An estimate of the blade slope angle is computed from properly fused measurements. The blade slope angle is controlled based on a reference blade slope angle and the computed estimate of the blade slope angle. A proportional-derivative control algorithm or a proportional control algorithm can be used.
Data processing algorithms and control algorithms can be stored as computer-executable code stored on a computer readable medium and executed by a computational system. A control signal outputted by the computational system can control a hydraulic system that controls the blade slope angle.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
Earthmoving machines, such as bulldozers and motor graders, are equipped with a blade to move earth. The blade position and blade attitude are controlled to shape the ground to a desired profile. The blade position and blade attitude can be controlled manually by a machine operator or automatically by an automatic blade control system. Combinations of manual and automatic control are often used. The blade parameters placed under automatic control are dependent on the application, type of earthmoving machine, desired precision, response time, and the complexity and cost of the automatic control system.
For a motor grader, primary blade parameters to be controlled are the blade slope angle and the blade elevation.
A drawbar 108 is connected to the front frame structure 106 via a ball joint, and a blade 110 is mounted on the drawbar 108. The drawbar is also connected to three hydraulic cylinders: the right lift cylinder 112, the left lift cylinder 114, and the centershift cylinder 116. Note: “right” and “left” are specified with respect to the machine operator. The three hydraulic cylinders are connected to the front frame structure 106 via a coupling 118. The elevation and the slope angle of the blade 110 are controlled by the right lift center 112 and the left lift center 114. The centershift cylinder 116 is used to laterally shift the drawbar 108 relative to the front frame structure 106. The tip angle of the blade 110 is controlled by a fourth hydraulic cylinder, denoted the blade tip angle control cylinder 120. The blade slope angle and the blade tip angle are described in more detail below.
The blade frame 220 is a Cartesian coordinate system fixed with respect to the blade 110. The top edge of the blade 110 is denoted the blade top edge 110T. The bottom edge of the blade 110 is denoted the blade bottom edge 110B. The origin of the blade frame 220 is denoted Ob 221, and the axes are denoted Xb-axis 222, Yb-axis 224, and Zb-axis 226. The positive direction of the Xb-axis 222 points away from the front surface of the blade 110. Note that the navigation frame 210 and the blade frame 220 both follow the left-hand rule.
The blade angular rotation rates about the Xb-axis 222, Yb-axis 224, and Zb-axis 226 are denoted ωx 232, ωy 234, and ωz 236, respectively. To simplify the notation, the subscriptb in the blade angular rotation rates is omitted. The position of the origin Ob 221 with respect to the blade 110 is defined by a user such as a control engineer. The orientation of the Xb-axis 222, Yb-axis 224, and Zb-axis 226 with respect to the blade 110 is defined by a user. Typically, to simplify equations used in control algorithms, it is advantageous to align the Yb-axis 224 parallel to the blade bottom edge 110B.
Refer to
Refer to
In an embodiment of a blade control system, the machine operator manually controls the blade tip angle β 304 by shifting the blade tip angle control cylinder 120 (
To control the blade slope angle under dynamic motion, accurate and fast estimation of the blade slope angle is necessary. Tilt sensors are widely used for estimating the blade slope angle. In general, a tilt sensor measures an inclination angle with respect to the local reference surface by sensing the local gravitational force vector. Various types of tilt sensors are available; for example, microelectromechanical systems (MEMS) transducers and liquid inclinometers.
Although tilt sensors can provide accurate and stable blade slope angle measurements, they have two major drawbacks. First, tilt sensors show slow response to rapid and large changes of the blade slope angle. The slow response time in the blade slope angle measurement is due to the internal filters used to reduce noise; these filters limit the response time and the control speed. Second, tilt sensors work properly only under a limited range of dynamic motion. As discussed above, tilt sensors sense the local gravitational force vector to measure the blade slope angle. A high dynamic motion, however, induces additional acceleration components on the tilt sensors. These additional acceleration components perturb the sensing of the local gravitational force vector and results in errors in the blade slope angle measurement. The vulnerability to high dynamic motions degrades the performance of the control systems under high dynamic motions of the motor grader (or other earthmoving machine). High dynamic motions can result, for example, from sudden braking or turning.
In an embodiment, the drawbacks of tilt sensors are overcome by combining tilt sensors with a three-axis gyroscope, which provides angular rotation measurements from three orthogonally-placed rate gyros. A three-axis gyroscope can be assembled in various configurations: as an integrated three-axis unit, as a combination of a single-axis unit and a two-axis unit, or as a combination of three single-axis units. A three-axis gyroscope generally provides attitude measurements with a high sampling rate by integrating the outputs from the three orthogonally-placed rate gyros. Examples of rate gyros include microelectromechanical systems (MEMS) and fiber-optic units. For earthmoving machines, MEMS units are advantageous because of their ruggedness and low cost. In contrast to a tilt sensor, a three-axis gyroscope shows significantly less delay in the attitude measurement, and the attitude measurement is not degraded by dynamic motions that occur during operation. A three-axis gyroscope does have a significant drawback, however. Any sensor errors are accumulated in the computation of the attitude, and attitude errors are potentially unbounded.
By integrating tilt sensors and a three-axis gyroscope, tilt sensor measurements that have long-term accuracy and stability compensate for the gyroscope errors. A three-axis gyroscope, in turn, provides attitude measurements with small delays and high sampling rates; these attitude measurements retain high short-term accuracy regardless of dynamic motion.
In addition to the improvement in the attitude measurements, a combination of tilt sensors and a three-axis gyroscope permits an automatic blade slope control system to use a proportional-and-derivative (PD) control algorithm. In an embodiment, a PD control algorithm uses parameters (discussed in detail below) calculated from the blade slope angle measured by one tilt sensor, the blade tip angle measured by a second tilt sensor, and the blade angular rotation rates measured by a three-axis gyroscope. The blade angular rotation rate feedback in the controller advantageously increases the speed of the blade slope angle control while maintaining accuracy and stability. As described below, measurements from two tilt sensors are used because of coupling between the blade tip angle and the blade slope angle when performing transformations between the navigation frame and the blade frame.
In the embodiment shown in
In the embodiment shown in
Herein, a sensor fixed to the blade 110 refers to a sensor whose position and orientation are fixed relative to the blade frame 220. A sensor fixed to the blade 110 can be mounted directly on the blade 110 (
Schematic diagrams of an automatic blade slope control system according to an embodiment are shown in
In an embodiment, the control signal uα 507 is an electrical signal that controls an electrically-controlled valve in the hydraulic system 530. The hydraulic system 530 controls the displacement of the blade slope angle control cylinder 532 that controls the blade slope angle α 302 of the blade 110. The sensor unit 402 fixed to the blade 110 sends a sensor signal 513, a sensor signal 515, and a sensor signal 517 to the blade slope estimator module 540. Further details are described below. The blade slope estimator module 540 refers to a functional module. Implementation of the functional module is discussed below.
The sensor signal 513, the sensor signal 515, and the sensor signal 517 provide raw measurements that include errors. The blade slope estimator module 540 performs computations that reduce various errors. The outputs of the blade slope estimator module 540 are output 531, which represents the blade angular rotation rate estimate {tilde over (ω)}x about the Xb-axis 222, and output 533, which represents the blade slope angle estimate {tilde over (α)}. Estimates are discussed below.
The control signal uα 507 is calculated as follows. The input αref 501 represents the reference (desired) value of the blade slope angle. The input αref 501 can be intentionally varied during different stages of a grading operation. In one embodiment, αref 501 is manually inputted by a machine operator or a site engineer. In another embodiment, a mathematical model of the desired terrain profile is generated, and the values of αref 501 are automatically computed based on the current blade position in the terrain model.
At operation 520, the blade slope angle estimate {tilde over (α)} 533, computed by the blade slope estimator module 540, is subtracted from the reference blade slope angle αref 501 to yield the blade slope angle error εα 503. At operation 522, the blade slope angle error εα 503 is multiplied by the proportional control gain Kp to yield the product Kpεα 505. At operation 526, the blade angular rotation rate estimate {tilde over (ω)}x 531 about the Xb-axis 222, computed by the blade slope estimator module 540, is multiplied by the velocity control gain Kv to yield the product Kv{tilde over (ω)}x 535. At operation 524, the product Kv{tilde over (ω)}x 535 is subtracted from the product Kpεα 505 to yield the control signal uα 507. The goal of the PD control algorithm is to maintain the blade slope angle error εα 503 within user-defined limits. These limits are defined, for example, by a site engineer or control engineer.
Refer to
The blade slope angle tilt sensor 602 measures the blade slope angle in the navigation frame 210. The output of the blade slope angle tilt sensor 602 is denoted the blade slope angle αtilt. Due to factors such as measurement errors and measurement delays, this raw value in general can differ from the true value of the blade slope angle α 302. This raw value is transmitted in the sensor signal 513 from the sensor unit 402 to the blade slope estimator module 540.
The blade tip angle tilt sensor 604 measures the blade tip angle in the navigation frame 210. The output of the blade tip angle tilt sensor 604 is denoted the blade tip angle βtilt. Due to factors such as measurement errors and measurement delays, this raw value in general can differ from the true value of the blade tip angle β 304. This raw value is transmitted in the sensor signal 515 from the sensor unit 402 to the blade slope estimator module 540.
The three-axis gyroscope 606 measures the blade angular rotation rates ωx 232, ωy 234, and ωz 236 about the Xb-axis 222, Yb-axis 224, and Zb-axis 226, respectively, in the blade frame 220 (
The (ωgyro,x, ωgyro,y, ωgyro,z) values are inputted into the sensor pre-processing module 610, which computes estimates of the parameters that represent the current blade attitude. In an embodiment, Euler angles (roll angle φ, pitch angle θ, and yaw angle ψ) are used to represent the current blade attitude. In another embodiment, a quaternion is used to represent the current blade attitude.
Details of computing the estimates of the Euler angles are discussed below. The output 601 of the sensor pre-processing module 610 includes the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro; these values are inputted into the sensor processing module 612. Under specific conditions, as discussed below, the sensor processing module 612 fuses the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro with the blade slope angle αtilt measured by the blade slope angle tilt sensor 602 and the blade tip angle βtilt measured by the blade tip angle tilt sensor 604. The sensor processing module 612 computes the blade slope angle estimate {tilde over (α)}, the Xb-axis blade angular rotation rate estimate {tilde over (ω)}x, the corrected roll angle estimate {tilde over (φ)}, the corrected pitch angle estimate {tilde over (θ)}, the Xb-axis corrected gyro bias estimate {tilde over (G)}bx, and the Yb-axis corrected gyro bias estimate {tilde over (G)}by. Further details of the sensor processing module 612 are described below.
The fusion of the data collected from the blade slope angle tilt sensor 602, the blade tip angle tilt sensor 604, and the three-axis gyroscope 606 can provide corrections to the estimates computed from the three-axis gyroscope 606 alone. The corrected values are referred to as corrected estimates since there are residual errors; that is, the corrected values in general can differ from the true values. Gyro biases refer to offset errors in the measurements from the three-axis gyroscope 606; determination of the gyro biases is discussed in further detail below.
The output 603 of the sensor processing module 612 represents the corrected estimates {tilde over (φ)}, {tilde over (θ)}, {tilde over (G)}bx, and {tilde over (G)}by; output 603 is fed back to the sensor pre-processing module 610 to improve the accuracy of subsequent estimates of φgyro and θgyro. Further details of the sensor pre-processing module 610 are described below. The output 605 of the sensor processing module 612 represents the {tilde over (G)}bx value; output 605 is inputted into the gyro bias calibration module 614. The output 533 of the sensor processing module 612 represents the blade slope angle estimate {tilde over (α)}.
The gyro bias calibration module 614 receives the {tilde over (G)}bx value from the sensor processing module 612 and the raw ωgyro,x value measured by the three-axis gyroscope 606. The output 531 of the gyro bias calibration module 614 represents the blade angular rotation rate estimate {tilde over (ω)}x. The blade angular rotation rate estimate {tilde over (ω)}x is computed by subtracting {tilde over (G)}bx from ωgyro,x.
The outputs of the blade slope estimator module 540 are output 533, which represents the blade slope angle estimate {tilde over (α)}, and output 531, which represents the blade angular rotation rate estimate ωx. These values are used in the proportional-and-derivative control algorithm shown in
Details of the Euler angle computation in the sensor pre-processing module 610 are described as follows. The blade frame 220 is generated from the navigation frame 210 (
Using these Euler angles, the blade slope angle α and the blade tip angle β are computed as follows:
During a grading operation, in general, the actual blade slope angle varies from the reference blade slope angle. The values of the blade slope angle and the blade tip angle measured by the tilt sensors and the values of the blade angular rotation rates measured by the three-axis gyroscope in general are functions of time. Measurements from the tilt sensors and the three-axis gyroscope are sampled at specific times. The number of samples per unit time is referred to as the sampling rate; and the time interval between successive samples is referred to as the sampling interval. Typically, the sampling rate of the three-axis gyroscope is greater than the sampling rate of the tilt sensors.
In the sensor pre-processing module 610, the Euler angles are updated every time new measurements (samples) from the three-axis gyroscope 606 are obtained. The Euler angles based on the three-axis gyroscope measurements are computed as follows. First, the initial values of the Euler angles and biases on the rate gyros in the three-axis gyroscope 606 are estimated. For this estimation, the control system requests a certain period of initialization time during which the blade stays motionless. Theoretically, because the blade stays motionless, the three-axis gyroscope 606 should output blade angular rotation rates of zero during this period (ignoring the effect of the Earth's rotation). Because of random noise and bias, however, the measurements are generally noisy and biased. The initial bias estimate on each rate gyro ({tilde over (G)}bx,0 for the Xb-axis gyro, {tilde over (G)}by,0 for the Yb-axis gyro, and {tilde over (G)}bz,0 for the Zb-axis gyro) is estimated by averaging the blade angular rotation rate measurements over this initialization period.
The biases can vary as a function of time. The variation is substantial in MEMS gyroscopes in particular. To improve the accuracy of the blade slope angle estimate, therefore, the current biases are estimated by the sensor processing module 612, as described below.
The initial estimate of the yaw angle (ψgyro,0) can be set to an arbitrary value such as zero because the blade slope angle and the blade tip angle are independent of yaw angle, as shown in (E1) and (E2). The initial estimate of the pitch angle (θgyro,0) is estimated by averaging the measurements of the blade tip angle tilt sensor 604 over the initialization period. The initial value of the roll angle (φgyro,0) is then estimated according to the following equation:
where
Once the initial values of the Euler angles and the gyro biases have been set, the Euler angle estimates are updated by a method using a rotation matrix. The rotation matrix Ct at time t is given as follows with the Euler angle estimates (φgt, θgt, ψgt) at time t:
The following compact notation is used: ρgt=ρgyro(t), where ρgt is an estimate of an arbitrary function ρ computed from values of (ωgyro, x(t), ωgyro,y(t), ωgyro,z(t)) outputted by the three-axis gyroscope 606 at time t. In compact notation, (ωgyro,x(t), ωgyro, y(t), ωgyro,z(t)) are denoted (ωgxt, ωgyt, ωgzt).
The measurements (ωgxt, ωgyt, ωgzt) are updated by the three-axis gyroscope 606 at discrete time instants τ=( . . . , t−2, t−1, t, t+1, t+2, . . . ), where τ is the system time (for example, referenced to a system clock). These discrete time instants are also referred to as the sampling times of the three-axis gyroscope 606. The time interval between time instants is the sampling interval Δt. Every time new measurements (ωgxt, ωgyt, ωgzt) from the three-axis gyroscope 606 are obtained, the rotation matrix is updated.
The update of the rotation matrix from t to t+1 is calculated as follows:
where I is the 3×3 identity matrix. σ2 and [σ×] are given as follows:
Then, new Euler angles are computed from the new rotation matrix as follows:
where cij represents the (i, j) element in the rotation matrix.
After updating the Euler angles, the sensor pre-processing module 610 outputs the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro. From these two values, as shown below, the blade slope angle estimate {tilde over (α)} can be computed. In principle, the accuracy of the blade slope angle estimate {tilde over (α)} can be improved by fusing the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro with the blade slope angle αtilt measured by the blade slope angle tilt sensor 602 and the blade tip angle βtilt measured by the blade tip angle tilt sensor 604 (as shown below). In practice, however, fusion of the data is not straightforward because the sensors are not synchronized and because tilt sensors are not accurate during strong dynamic motion. These factors are discussed below.
In general, the sampling rate of a three-axis gyroscope is higher than the sampling rate of a tilt sensor. Furthermore, in general, the three-axis gyroscope 606, the blade slope angle tilt sensor 602, and the blade tip angle tilt sensor 604 are not synchronized. If data from the three-axis gyroscope 606 is fused with out-of-date data from the blade slope angle tilt sensor 602 or the blade tip angle tilt sensor 604, resulting estimates can have large errors.
As discussed above, tilt sensors are vulnerable to high dynamic motions, whereas three-axis gyroscopes are relatively immune to high dynamic motions. If data from the three-axis gyroscope 606 is fused with inaccurate data from the blade slope angle tilt sensor 602 or the blade tip angle tilt sensor 604, resulting estimates can have large errors.
Sensor fusion (the fusion of data from multiple sensors) can be performed by various filters. As discussed above, the blade slope angle estimate {tilde over (α)} is computed from the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro. Therefore, the accuracy of the blade slope angle estimate is dependent on the accuracy of φgyro and θgyro. The accuracy of φgyro and the accuracy of θgyro are dependent on the accuracy of the gyro bias estimates. Furthermore, the accuracy of the blade angular rotation rate estimate {tilde over (ω)}x is dependent on the accuracy of the gyro bias estimate {tilde over (G)}bx. To obtain an accurate blade slope angle estimate and an accurate blade angular rotation rate estimate, therefore, the sensor fusion should provide accurate corrections on all of the computed roll angle estimate φgyro, the computed pitch angle estimate θgyro, the Xb-axis gyro bias estimate, and the Yb-axis gyro bias estimate.
There are two available observations for the sensor fusion filter: the blade slope angle αtilt and the blade tip angle βtilt measured by the blade slope angle tilt sensor and the blade tip angle tilt sensor, respectively. On the other hand, there are four parameters which should be estimated by the filter: the corrections on the computed roll angle estimate, the computed pitch angle estimate, the Xb-axis gyro bias estimate, and the Yb-axis gyro bias estimate. Therefore, the filter should work on single or multiple dynamic system models that relate the errors on the roll angle, the pitch angle, the Xb-axis gyro bias, and the Yb-axis gyro bias with the blade slope angle and the blade tip angle. Kalman filters or particle filters are examples of suitable filters which are designed based on a dynamic system model.
Refer to
In step 704, if a new value of αtilt is not available, then the process passes to step 714 in which the value of φgyro(t) is outputted to step 740 in
Various criteria can be used to determine when a disturbance sufficiently high to yield an invalid measurement from a tilt sensor has occurred. In one embodiment, a disturbance is detected if |αtilt(ταn)−αtilt(ταp)|>Δαtilt,max, where αtilt(ταn) is the new value of αtilt, αtilt(ταp) is the previous value of αtilt, and Δαtilt,max is a user-defined threshold value. Under normal operation, variations in αtilt are expected to fall within a particular range. If the change in αtilt from one measurement to the next is unexpectedly large, then the new measurement of αtilt is suspect.
In another embodiment, a disturbance is detected if |ωgyro,z(t)|>Ωgyro,z, where Ωgyro,z is a user-defined threshold value. An excessively high value of |ωgyro,z(t)| can result, for example, if the blade turns sharply or spins. In
Note that logical combinations of different criteria can be used for determining a disturbance. As one example, a disturbance is detected if |αtilt(ταn)−αtilt(ταp)|>Δαtilt,max OR |ωgyro,z(t)|>ωgyro,z.
In step 706, if a disturbance is detected, then the new value of αtilt is discarded, and the process passes to step 714, in which the value of φgyro(t) is outputted to step 740 in
In step 710, if a disturbance is detected, then the new value of αtilt is declared to be invalid, and the process passes to step 714, in which the value of φgyro(t) is outputted to step 740 in
Refer to
If a new value of βtilt is available, then the process passes to step 726, in which the occurrence of a disturbance is determined. The criteria for detecting a disturbance in measurements of βtilt are similar to the criteria discussed above for detecting a disturbance in measurements of αtilt.
In step 726, if a disturbance is detected, then the new value of βtilt is discarded, and the process passes to step 734, in which the value of θgyro(t) is outputted to step 740 in
In step 730, if a disturbance is detected, then the new value of βtilt is declared to be invalid, and the process passes to step 734, in which the value of θgyro(t) is outputted to step 740 in
Refer to
The individual BSEAs are first summarized below. Details of the algorithms for computing the corrected estimates {tilde over (φ)}(t), {tilde over (θ)}(t), {tilde over (G)}bx(t), and {tilde over (G)}by(t) are discussed afterwards.
In BSEA 1, a valid new value of αtilt is not available, and a valid new value of βtilt is not available. No sensor fusion is performed. The blade slope angle estimate {tilde over (α)}(t) is computed from φgyro(t) and θgyro(t):
No corrected values of parameters are fed back to the sensor pre-processing module 610. No corrected value of the Xb-axis gyro bias estimate is inputted into the gyro bias calibration module 614. Since no corrected value of the Xb-axis gyro bias estimate is inputted into the gyro bias calibration module 614, the gyro bias calibration module 614 computes the Xb-axis blade angular rotation rate estimate {tilde over (ω)}x(t) from ωgyro,x(t) and the previous value of the Xb-axis gyro bias estimate, denoted {tilde over (G)}bx(t−1):
{tilde over (ω)}(t)=ωgyro,x(t)−{tilde over (G)}bx(t−1). (E11)
Note that {tilde over (G)}bx(t−1)=Gbx,0 if the Xb-axis gyro bias estimate has not been previously corrected.
In BSEA 2, a valid new value of αtilt is available, and a valid new value of βtilt is not available. Sensor fusion of φgyro, θgyro, and αtilt is performed. A corrected estimate of the roll angle, denoted {tilde over (φ)}(t), is computed (details are discussed below). A corrected estimate of the Xb-axis gyro bias estimate, denoted {tilde over (G)}bx(t), is computed (details are discussed below). The corrected estimates {tilde over (φ)}(t) and {tilde over (G)}bx(t) are fed back to the sensor pre-processing module 610. The blade slope angle estimate {tilde over (α)}(t) is computed from {tilde over (φ)}(t) and θgyro(t):
The corrected estimate {tilde over (G)}bx(t) is inputted to the gyro bias calibration module 614. The Xb-axis blade angular rotation rate estimate {tilde over (ω)}x(t) is computed from ωgyro,x(t) and {tilde over (G)}bx(t):
{tilde over (ω)}(t)=ωgyro,x(t)−{tilde over (G)}bx(t). (E13)
In BSEA 3, a valid new value of αtilt is not available, and a valid new value of βtilt is available. Sensor fusion of φgyro, θgyro, and βtilt is performed. A corrected estimate of the pitch angle, denoted {tilde over (θ)}(t), is computed (details are discussed below). A corrected estimate of the Yb-axis gyro bias estimate, denoted {tilde over (G)}by(t), is computed (details are discussed below). The corrected estimates {tilde over (θ)}(t) and {tilde over (G)}by(t) are fed back to the sensor pre-processing module 610. The blade slope angle estimate {tilde over (α)}(t) is computed from φgyro(t) and {tilde over (θ)}(t):
No corrected value of the Xb-axis gyro bias estimate is inputted into the gyro bias calibration module 614. The Xb-axis blade angular rotation rate estimate {tilde over (ω)}x(t) is computed from ωgyro,x(t) and {tilde over (G)}bx(t−1):
{tilde over (ω)}(t)=ωgyro,x(t)−{tilde over (G)}bx(t−1). (E15)
In BSEA 4, a valid new value of αtilt is available, and a valid new value of βtilt is available. Sensor fusion of φgyro, θgyro, αtilt, and βtilt is performed. The corrected estimates {tilde over (φ)}(t), {tilde over (θ)}(t), {tilde over (G)}bx(t), and {tilde over (G)}by(t) are computed. The corrected estimates {tilde over (φ)}(t), {tilde over (θ)}(t), {tilde over (G)}bx(t), and {tilde over (G)}by(t) are fed back to the sensor pre-processing module 610. The blade slope angle estimate {tilde over (α)}(t) is computed from {tilde over (φ)}(t) and {tilde over (θ)}(t):
The corrected estimate {tilde over (G)}bx(t) is inputted into the gyro bias calibration module 614. The Xb-axis blade angular rotation rate estimate {tilde over (ω)}x(t) is computed from ωgyro,x(t) and {tilde over (G)}bx(t):
{tilde over (φ)}(t)=ωgyro,x(t)−{tilde over (G)}bx(t). (E17)
As discussed above, computation of the current values of φgyro(t) and θgyro(t) in the sensor pre-processing module 610 uses the previous value of the roll angle, the previous value of the pitch angle, the value of the roll angle bias estimate, and the value of the pitch angle bias estimate. The accuracy of computing the next values of φgyro(t+1) and θgyro(t+1) can be improved by using the corrected estimates {tilde over (φ)}(t), {tilde over (θ)}(t), {tilde over (G)}bx(t), and {tilde over (G)}by(t) instead of φgyro(t), θgyro(t), {tilde over (G)}bx(t−1), and {tilde over (G)}by(t−1). Therefore, the sensor processing module 612 feeds back values of the corrected estimates {tilde over (φ)}(t), {tilde over (θ)}(t), {tilde over (G)}bx(t), and {tilde over (G)}by(t), when they are available, to the sensor pre-processing module 610.
In an embodiment, the sensor processing module 612 uses two extended Kalman filters (EKFs) for fusing sensor data. The first EKF computes the corrected roll angle estimate and the corrected roll angle bias estimate (corrected Xb-axis gyro bias estimate). The second EKF computes the corrected pitch angle estimate and the corrected pitch angle bias estimate (corrected Yb-axis gyro bias estimate).
The details of the EKF for the roll angle and roll angle bias estimates are as follows. The state vector xroll of the EKF includes the roll angle error Δφ and the Xb-axis gyro bias error ΔGbx:
For this state vector, a state propagation model can be given as follows:
where wroll(t) is a 2×1 system noise vector at time t in which the first element represents the noise on the roll angle, and the second element represents the noise on the roll angular rotation rate.
With the state vector xroll(t) and the tilt sensor measurements αtilt(t), an observation model is formed as follows:
zroll(t)=[10]Xroll(t)+Rroll(t), (E20)
where Rroll(t) is the measurement noise on the blade slope angle tilt sensor 602. Zroll(t), the Kalman filter measurement at time t, is computed with the following equation using the computed roll angle estimate φgyro and the computed pitch angle estimate θgyro computed in the sensor pre-processing module 610 and the blade slope angle αtilt measured by the blade slope angle tilt sensor 602:
Representing these models in a general form of Kalman filter, an EKF that estimates the roll angle error Δφ and the Xb-axis gyro bias error ΔGbx using tilt sensor measurements can be realized.
With the state vector estimated in the EKF, the roll angle and the Xb-axis gyro bias are corrected as follows:
{tilde over (φ)}(t)=φgyro(t)−Δφ(t) (E22)
{tilde over (G)}bx(t)={tilde over (G)}bx(t−1)+ΔGbx(t). (E23)
In the same manner, the models for the EKF for the pitch angle can be derived. The state vector (xpitch) for this EKF includes the pitch angle error Δθ and the Yb-axis gyro bias error ΔGby. The state propagation model is then given as follows:
where wpitch(t) is a 2×1 system noise vector at time t in which the first element represents the noise on the pitch angle, and the second element represents the noise on the pitch angular rotation rate. With the blade tip angle tilt sensor measurement (βtilt), the observation model is formed as follows:
zpitch(t)=[10]xpitch(t)+Rpitch(t), (E25)
where Rpitch(t) is the measurement noise on the blade tip angle tilt sensor 604. zpitch(t), the Kalman filter measurement at time t, is computed with the following equation using the computed pitch angle estimate θgyro computed in the sensor pre-processing module 610 and the blade tip angle βtilt measured by the blade tip angle tilt sensor 604:
zpitch(t)=θgyro(t)−βtilt(t). (E26)
Representing these models in a general form of Kalman filter, an EKF that estimates the pitch angle error Δθ and the Yb-axis gyro bias error ΔGby using tilt sensor measurements can be realized.
With the state vector estimated in the EKF, the pitch angle and the Yb-axis gyro bias are corrected as follows:
{tilde over (θ)}(t)=θgyro(t)−Δθ(t) (E27)
{tilde over (G)}by(t)={tilde over (G)}by(t−1)+ΔGby(t). (E28)
In the embodiment described above, the blade attitude is represented by Euler angles. In another embodiment, the blade attitude is represented by a quaternion. In contrast with Euler angles, the quaternion is a four-parameter attitude representation with which the coordinate system of the navigation frame 210 can be transformed to the coordinate system of the blade frame 220 (
In the embodiments described above, the coordinate system of the navigation frame 210 is transformed to the coordinate system of the blade frame 220 via Euler angles or a quaternion. In other embodiments, the coordinate system of the blade frame 220 is transformed to the coordinate system of the navigation frame 210 via Euler angles or a quaternion.
Since the automatic blade slope control system described herein is independent of blade elevation, the automatic blade slope control system can be added to existing motor graders without replacing or modifying the existing elevation control systems. Although the motor grader 100 (
In
An embodiment of a computational system 800 for implementing an automatic blade slope angle control system is shown in
The computational system 800 includes a computer 802, which includes a central processing unit (CPU) 804, memory 806, and a data storage device 808. The data storage device 808 includes at least one persistent, non-transitory, tangible computer readable medium, such as non-volatile semiconductor memory, a magnetic hard drive, or a compact disc read only memory.
The computational system 800 can further include a user input/output interface 810, which interfaces computer 802 to user input/output devices 830. Examples of user input/output devices 830 include a keyboard, a mouse, a local access terminal, and a video display. Data, including computer executable code, can be transferred to and from the computer 802 via the user input/output interface 810.
The computational system 800 can further include a communications network interface 822, which interfaces the computer 802 with a communications network 840. Examples of the communications network 840 include a local area network and a wide area network. A user can access the computer 802 via a remote access terminal (not shown) communicating with the communications network 840. Data, including computer executable code, can be transferred to and from the computer 802 via the communications network interface 822.
The computational system 800 can further include a blade slope angle tilt sensor interface 812, which interfaces the computer 802 with the blade slope angle tilt sensor 602.
The computational system 800 can further include a blade tip angle tilt sensor interface 814, which interfaces the computer 802 with the blade tip angle tilt sensor 604.
The computational system 800 can further include a three-axis gyroscope interface 816, which interfaces the computer 802 with the three-axis gyroscope 606.
The computational system 800 can further include a hydraulic system interface 818, which interfaces the computer 802 with the hydraulic system 530.
The computational system 800 can further include an auxiliary sensors interface 820, which interfaces the computer 802 with auxiliary sensors 830. Examples of auxiliary sensors 830 include a global navigation satellite system receiver and an optical receiver.
Each of the interfaces described above can operate over different physical media. Examples of physical media include wires, optical fibers, free-space optics, and electromagnetic waves (typically in the radiofrequency range and commonly referred to as a wireless interface).
As is well known, a computer operates under control of computer software, which defines the overall operation of the computer and applications. The CPU 804 controls the overall operation of the computer and applications by executing computer program instructions that define the overall operation and applications. The computer program instructions can be stored in the data storage device 808 and loaded into the memory 806 when execution of the program instructions is desired. The automatic blade slope angle control algorithms shown schematically in
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
Konno, Hiroyuki, Brabec, Vernon Joseph, Graham, Renard Tomas
Patent | Priority | Assignee | Title |
10030366, | Apr 04 2016 | Caterpillar Inc.; Caterpillar Inc | Drawbar position determination with rotational sensors |
10400420, | Mar 06 2017 | DURABILT INDUSTRIES, LLC | Tilt and height adjustment mechanism for implement |
10428493, | Oct 06 2015 | Topcon Positioning Systems, Inc | Automatic blade control system for a motor grader |
10724842, | Feb 02 2018 | Caterpillar Trimble Control Technologies LLC | Relative angle estimation using inertial measurement units |
10876272, | Aug 10 2018 | Caterpillar Inc.; Caterpillar Inc | Systems and methods for controlling a machine implement |
11111646, | Feb 24 2017 | BLUE LEAF I P , INC | System and method for controlling an arm of a work vehicle |
11274416, | Apr 10 2019 | Deere & Company | Method of calibrating a sensor on a work vehicle |
11459725, | Nov 29 2018 | Caterpillar Inc. | Control system for a grading machine |
11459726, | Nov 29 2018 | Caterpillar Inc. | Control system for a grading machine |
11466427, | Nov 29 2018 | Caterpillar Inc. | Control system for a grading machine |
11486113, | Nov 29 2018 | Caterpillar Inc. | Control system for a grading machine |
11505913, | Nov 29 2018 | Caterpillar Inc. | Control system for a grading machine |
11851844, | Jan 21 2020 | Caterpillar Inc. | Implement travel prediction for a work machine |
11891278, | Aug 31 2022 | Caterpillar Inc. | Lifting capacity systems and methods for lifting machines |
9347205, | Feb 10 2012 | Topcon Positioning Systems, Inc | Estimation of the relative attitude and position between a vehicle body and an implement operably coupled to the vehicle body |
9551130, | Feb 05 2015 | Deere & Company | Blade stabilization system and method for a work vehicle |
9580104, | Aug 19 2014 | Caterpillar Trimble Control Technologies LLC | Terrain-based machine comprising implement state estimator |
9624643, | Feb 05 2015 | Deere & Company | Blade tilt system and method for a work vehicle |
9752298, | Mar 05 2015 | Hitachi, Ltd. | Trace generation device and working machine |
ER6986, |
Patent | Priority | Assignee | Title |
3974699, | Mar 30 1972 | NEW SD, INC , A CORP OF DE | Angular position sensing and control system, apparatus and method |
4600999, | Jul 13 1982 | Kubota, Ltd. | Automatic running work vehicle |
5375663, | Apr 01 1993 | Trimble Navigation Limited | Earthmoving apparatus and method for grading land providing continuous resurveying |
5499684, | Aug 16 1994 | Caterpillar Inc. | Geographic surface altering implement control system |
5551518, | Dec 19 1994 | Caterpillar Inc. | Tilt rate compensation implement system and method |
5951613, | Oct 23 1996 | Caterpillar Inc | Apparatus and method for determining the position of a work implement |
6112145, | Jan 26 1999 | Trimble Navigation Limited | Method and apparatus for controlling the spatial orientation of the blade on an earthmoving machine |
6128574, | Jul 23 1996 | CLAAS KGaA | Route planning system for agricultural work vehicles |
6129156, | Dec 18 1998 | Caterpillar Inc.; Caterpillar, Inc | Method for automatically moving the blade of a motor grader from a present blade position to a mirror image position |
6236924, | Jun 21 1999 | Caterpillar Inc.; Caterpillar Inc | System and method for planning the operations of an agricultural machine in a field |
6450267, | Mar 07 2001 | Kabushiki Kaisha Topcon | Construction equipment control system |
7246456, | Feb 18 2004 | Caterpillar Trimble Control Technologies LLC | Linked mode for a multi-axis machine control |
7317977, | Aug 23 2004 | Topcon Positioning Systems, Inc. | Dynamic stabilization and control of an earthmoving machine |
7516563, | Nov 30 2006 | Caterpillar Inc. | Excavation control system providing machine placement recommendation |
7942208, | Nov 06 2008 | Purdue Research Foundation | System and method for blade level control of earthmoving machines |
8103417, | Aug 31 2007 | Caterpillar Inc. | Machine with automated blade positioning system |
8333250, | Mar 07 2008 | Deere & Company | Mounting console with visibility improvements |
8596373, | Mar 10 2006 | Deere & Company | Method and apparatus for retrofitting work vehicle with blade position sensing and control system |
20020162668, | |||
20060198700, | |||
20060230645, | |||
20080097693, | |||
20080109141, | |||
20080133128, | |||
20090069987, | |||
20090259373, | |||
20100076640, | |||
20130006484, | |||
EP1630636, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 20 2011 | KONNO, HIROYUKI | Topcon Positioning Systems, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNOR S NAME PREVIOUSLY RECORDED ON REEL 026628 FRAME 0970 ASSIGNOR S HEREBY CONFIRMS THE CORRECT SPELLING OF THE ASSIGNOR S NAME IS VERNON JOSEPH BRABEC | 032811 | /0605 | |
Jul 20 2011 | BRABEC, VERNON JOSEPH | Topcon Positioning Systems, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNOR S NAME PREVIOUSLY RECORDED ON REEL 026628 FRAME 0970 ASSIGNOR S HEREBY CONFIRMS THE CORRECT SPELLING OF THE ASSIGNOR S NAME IS VERNON JOSEPH BRABEC | 032811 | /0605 | |
Jul 20 2011 | GRAHAM, RENARD TOMAS | Topcon Positioning Systems, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNOR S NAME PREVIOUSLY RECORDED ON REEL 026628 FRAME 0970 ASSIGNOR S HEREBY CONFIRMS THE CORRECT SPELLING OF THE ASSIGNOR S NAME IS VERNON JOSEPH BRABEC | 032811 | /0605 | |
Jul 20 2011 | KONNO, HIROYUKI | Topcon Positioning Systems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026628 | /0970 | |
Jul 20 2011 | BRABEC, VERNON BRABEC | Topcon Positioning Systems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026628 | /0970 | |
Jul 20 2011 | GRAHAM, RENARD TOMAS | Topcon Positioning Systems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026628 | /0970 | |
Jul 21 2011 | Topcon Positioning Systems, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 19 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 07 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
May 27 2017 | 4 years fee payment window open |
Nov 27 2017 | 6 months grace period start (w surcharge) |
May 27 2018 | patent expiry (for year 4) |
May 27 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 27 2021 | 8 years fee payment window open |
Nov 27 2021 | 6 months grace period start (w surcharge) |
May 27 2022 | patent expiry (for year 8) |
May 27 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 27 2025 | 12 years fee payment window open |
Nov 27 2025 | 6 months grace period start (w surcharge) |
May 27 2026 | patent expiry (for year 12) |
May 27 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |