The present invention relates generally to control of an implement operably coupled to a body of a vehicle, and more particularly to the estimation of the attitude and position of the implement relative to the body of the vehicle.
In various grading applications with a dozer, it is necessary to control the position and attitude of the dozer blade. Accurate measurements of the position and attitude of the dozer blade are required for accurate control. Most of the control systems available on the market today use direct measurements of these parameters. The position of the dozer blade can be measured, for example, with a Global Navigation Satellite System (GNSS) receiver or a laser system. In these systems, a mast is installed on the dozer blade to support a GNSS antenna, a laser prism, or a laser receiver. The attitude of the dozer blade can be measured, for example, with two GNSS antennas, two laser prisms, or two laser receivers. Each GNSS antenna, laser prism, or laser receiver is supported by an individual mast installed on the dozer blade. Other sensors, such as a fluid slope sensor, can be used to measure the attitude of the dozer blade.
Other sensors can be mounted on the dozer blade. A magnetic sensor, for example, can be used to estimate yaw. A magnetic sensor, however, is very sensitive to the local magnetic anomalies induced by the dozer itself and by magnetic objects (such as iron objects) near the dozer. Calibration of the magnetic sensor can remove the influence of the dozer but not the influence of magnetic objects near the dozer. The accuracy of yaw estimation with a magnetic sensor, consequently, is typically not better than few arc degrees, even when a gyro is used for filtering magnetic sensor measurements. A magnetic sensor, therefore, is typically used only for a vehicle that moves on a surface with a slope less than a predetermined maximum value (which is dependent on the required grading accuracy for a particular application) and for applications in which a yaw error of a few degrees is acceptable.
Many of the above-mentioned sensors, when mounted on the dozer blade, however, are not robustly protected from harsh environmental conditions, including shock, vibration, and impact with soil, stones, and rocks. Sensors mounted on a mast, in particular, are exposed and susceptible to damage. For a GNSS antenna mounted on the dozer blade, furthermore, the coax cable running from the GNSS antenna to the navigation receiver, typically located in the dozer cabin, is susceptible to damage.
To eliminate reliability issues associated with sensors mounted on the dozer blade, some measurement systems use only sensors mounted on the dozer body, preferably within the interior of the mainframe, inside the cabin, or on the roof of the cabin. The optimal location for mounting position sensors, such as a GNSS antenna, a laser prism, or a laser receiver, is on the roof of the cabin. To calculate the position of the dozer blade from the measured position of the cabin, the attitude of the dozer body relative to the ground and the position of the dozer blade relative to the dozer body need to be estimated. The attitude of the dozer body can be estimated by various combinations of inertial measurement units, GNSS antennas, laser prisms, and laser receivers.
European Patent Application Publication No. EP 2 187 166 discloses using video cameras mounted on the dozer body to estimate the dozer blade position relative to the dozer body by tracking special passive or active targets mounted on the dozer blade. The video cameras, however, require a stable mechanical environment for proper operation. The camera system is also sensitive to lighting conditions and fog, dust, and dirt in the optical path between the cameras and the targets. Infrared cameras can be used to overcome issues arising from light sensitivity; however, fog, dust, and dirt remain problematic.
In another approach for determining the attitude and position of the dozer blade, the kinematic structure of the dozer is modelled as a system of lever arms, pivots, and extended cylinders. In this model, the position of the dozer blade relative to the dozer body can be calculated if all lever arms (distance between pivot points) of the blade suspension is known. Lever arms of constant length can be easily measured directly or read out from mechanical drawings.
To measure cylinder extension, a linear displacement sensor based on a potentiometric sensor or a magnetorestrictive sensor can be used. A linear displacement sensor mounted on the outside of a cylinder, however, typically does not operate reliably and can be easy damaged by soil, stones, or rocks. Placement of a linear displacement sensor inside a cylinder overcomes reliability issues. Standard commercial cylinders for construction machines, however, are not outfitted with internal linear displacement cylinders; and retrofitting existing construction machines with custom cylinders is an expensive and time-consuming operation.
A robust method for determining the attitude and position of a dozer blade, or other implement, in which sensors can operate reliably under harsh environmental conditions, is desirable.
An implement is operably coupled to a vehicle body. The implement has an implement acceleration, and the vehicle body has a body acceleration. An attitude of the implement is estimated by receiving a body acceleration measurement from a body accelerometer mounted on the vehicle body and an implement acceleration measurement from an implement accelerometer mounted on the implement. A state vector estimate is calculated based at least in part on the body acceleration measurement and the implement acceleration measurement. The state vector estimate includes a representation of the attitude of the implement relative to the vehicle body.
In an embodiment, in addition to the body acceleration measurement and the implement acceleration measurement, a body angular velocity measurement is received from a body gyro mounted on the vehicle body and an implement angular velocity measurement is received from an implement gyro mounted on the implement. A state vector estimate is calculated based at least in part on the body acceleration measurement, the implement acceleration measurement, the body angular velocity measurement, and the implement angular velocity measurement. The state vector estimate includes a representation of the attitude of the implement relative to the vehicle body.
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.
The dozer blade 108 can move relative to the dozer body 102. In general, both the position and the attitude (angular orientation) of the dozer blade 108 relative to the dozer body 102 can be controlled. Movement of the left support arm 110L is controlled by a left hydraulic cylinder 112L; movement of the right support arm 110R is controlled by a corresponding right hydraulic cylinder (not shown). The hydraulic cylinders can be controlled manually by an operator or automatically by a computer control system.
For grading operations, parameters such as the height of the dozer blade above the ground and the slope of the dozer blade relative to the ground are controlled. A system-state estimate system computes an estimate of the current system state and generates a feedback signal corresponding to the estimate of the current system state. In a manual control system, the feedback signal is inputted into a display system that displays the current values of the dozer blade parameters (such as the height and the slope of the dozer blade) on a screen, and an operator manually adjusts the dozer blade to achieve and maintain the desired (target) values of the dozer blade parameters. In an automatic control system, the feedback signal is transformed into a control signal that is used by a hydraulic control system to automatically control the height and the slope of the dozer blade.
The geometrical configurations of dozers and the degrees of freedom of the dozer blade relative to the dozer body vary among different models of dozers. In the most general case, a dozer blade can have up to six degrees of freedom (three angular rotations varying the relative attitude between the dozer blade and the dozer body and three translations varying the relative position between the dozer blade and the dozer body). In most cases, a dozer is equipped with a 4-way blade or a 6-way blade. A 4-way blade has two degrees of freedom: lift and tilt. The lift is adjustable in two ways (up and down), and the tilt is adjustable in two ways (clockwise and counter-clockwise). A 6-way blade has three degrees of freedom: lift, tilt, and angle. The lift is adjustable in two ways (up and down), the tilt is adjustable in two ways (clockwise and counter-clockwise), and the angle is adjustable in two ways (left and right).
In practice, the parameters of the dozer blade to be controlled depends on the application. If the application requires control of only the slope of the dozer blade (relative to the ground; see further discussion below), then an estimate of the dozer blade attitude relative to the dozer body is sufficient. If the application requires control of both the slope of the dozer blade and the position of the dozer blade (relative to the ground; see further discussion below), then both an estimate of the dozer blade attitude relative to the dozer body and an estimate of the dozer blade position relative to the dozer body are needed.
If the dozer blade has no more than three degrees of freedom, an estimate of the dozer blade position relative to the dozer body can be calculated from the estimate of the dozer blade attitude relative to the dozer body. If the dozer blade has more than three degrees of freedom, additional measurements (such as the attitudes of support arms), along with the estimate of the dozer blade attitude relative to the dozer body, are needed to determine an estimate of the dozer blade position relative to the dozer body. Algorithms for calculating an estimate of the dozer blade position relative to the dozer body based on an estimate of the dozer blade attitude relative to the dozer body and based on geometrical parameters are well-known in the art and are not described in further detail herein.
Values of the dozer blade attitude and the dozer blade position relative to the dozer body can then be used in combination with values of the dozer body attitude and the dozer body position relative to a local or geodetic coordinate system to calculate the values of the dozer blade attitude and the dozer blade position relative to the local or geodetic coordinate system. Values of the dozer body attitude and the dozer body position relative to a local or geodetic coordinate system can be calculated from sensors such as GNSS antennas, laser prisms, and laser receivers. Algorithms for calculating the values of the dozer blade attitude and the dozer blade position relative to the local or geodetic coordinate system are well known to those skilled in the art and are not discussed in further detail herein.
Values of the dozer blade attitude and the dozer blade position relative to the local or geodetic coordinate system can then be used to generate a feedback signal in a manual blade control system or an automatic blade control system. Algorithms for generating a feedback signal from values of the dozer blade attitude and the dozer blade position relative to the local or geodetic coordinate system are well known to those skilled in the art and are not discussed in further detail herein. As discussed above, depending on the application, different parameters of the dozer blade can be controlled; the feedback signal depends on the parameters to be controlled.
In an embodiment of the invention, an estimate of the current system state is computed based on measurements from inertial sensors mounted on the dozer body and on the dozer blade. In an advantageous embodiment, an estimate of the current system state is computed based on measurements from two inertial measurement units (IMUs), as described in more detail below.
Shown in
The blade frame 131 is fixed with respect to the dozer blade 108 and is defined by three orthogonal axes (
Refer to the vector diagram in
The measurement vector of the dozer system includes two accelerations:
The measurement vector of the dozer system is written as:
Z=[a1x
The dozer blade acceleration vector a2 is the sum of the dozer body acceleration vector a1 and the dozer blade acceleration vector relative to the dozer body, a21:
a2=a1+a21. (E6)
In the process of grading, the dozer blade acceleration relative to the dozer body, a21 is typically much smaller than the dozer body acceleration; therefore, it can be assumed that the dozer blade acceleration is approximately equal to the dozer body acceleration:
a2≅a1. (E7)
The dozer blade attitude relative to the dozer body can be represented in one of three following forms:
Using the rotation quaternion q as the attitude representation, the acceleration vector, projected onto the axes of the body frame, is written as:
a1
The dozer blade angular velocity vector, projected onto the axes of the body frame, is written as:
ω2
The dozer blade angular velocity vector relative to the dozer body, projected onto the axes of the body frame, is written as:
ω21
A system is described by a time-dependent model. For example, the time-dependent system model can be represented by the following differential equation, in which the time-derivative of the system state vector is a function of the system state vector:
{dot over (χ)}F(χ), (E12)
where χ represents the system state vector, and {dot over (χ)} represents the derivative of χ with respect to time t. If the system state vector χ(t) at time t is known, the system state vector at a time t+Δt, where Δt is a time increment, can be predicted by using (E12) as follows:
χ(t+Δt)≅χ(t)+F(χ(t))Δt (E13)
At discrete time epochs
t0, t1, . . . , tk=t0, t0=Δt, . . . , t0+kΔt, where k is an integer, (E13) can be expressed as the following difference equation:
χ(tk+1)≅χ(tk)+F(χ(tk))Δt. (E14)
(E14) can be rewritten in compact notation as:
χk+1≅f(χk). (E15)
If Δt is small, then:
χk+1=f(χk). (E16)
As discussed below, the extended Kalman filter procedure is used for calculating the estimate of the rotation quaternion. A brief summary of the extended Kalman filter procedure is first presented; specific application for calculating the estimate of the rotation quaternion is then described.
In the extended Kalman filter procedure, the following system equations are used for discrete time:
χk+1=f(χk)+wk (E17)
Zk=h(χk)vk, (E18)
where:
To estimate the system state vector χ from the measurement vector Z, the following extended Kalman filter procedure is used. At the k-th time epoch, the following Jacobian matrices are calculated:
Ak, ak[i,j]=∂f(χk)[i]/∂χ[i]; (E19)
Hk,Hk[i,j]=∂h(χk)[i]/∂χ[i]. (E20)
The system state vector estimate is updated by a new measurement vector Zk as follows:
Kk=PkHkT(HkPkHkTRk)−1 (E21)
{circumflex over (Z)}k=h({circumflex over (χ)}k) (E22)
χk={circumflex over (χ)}k+Kk(Zk−Zk), (E23)
where:
The new state vector estimate is then predicted using the system equations:
{circumflex over (χ)}k+1=f(χk) (E24)
Pk+1=AkPkAkT+Qk. (E25)
Return now to the specific problem of calculating an estimate of the rotation quaternion. If the dozer blade angular velocity relative to the dozer body is known, the rotation quaternion change can be predicted using the following differential equation for the rotation quaternion:
(E26) is a specific instance of the general equation (E12).
The following extended Kalman filter procedure is used for calculating the estimate of the rotation quaternion {circumflex over (q)}. A state vector of the dozer system includes the rotation quaternion, the dozer body acceleration, the dozer body angular velocity, and the dozer blade angular velocity relative to the dozer body. The state vector can include other components as well. The state vector of the dozer system is written as:
X=[q0,q1,q2,q3,a1x
Once the state vector X has been determined, the quaternion is extracted from components of the state vector.
For the extended Kalman filter procedure, the initial estimate of the state vector is required at the start up of the system. The state vector can be initialized by the identity rotation quaternion, {circumflex over (q)}=[1,0,0,0]. The identity rotation quaternion corresponds to the axes of the blade frame 131 pointing along the same directions as the axes of the body frame 121. If the state vector is initialized by the identity rotation quaternion, however, the extended Kalman filter procedure needs a significant period of time (on the order of about tens of seconds) to converge to a good estimate of the state vector after start up.
To decrease this period of time, the initial rotation quaternion estimate {circumflex over (q)} can be obtained by using the covariance between the dozer blade acceleration a2
where E(a) refers to a mean value of a calculated over a user-specified interval of time. During the user-specified interval of time, the following conditions should be satisfied: the attitude of the dozer blade relative to the dozer body is not changing, and the dozer body is accelerating. These conditions can be detected by the accelerometers and the gyros of inertial measurement units. When these conditions are satisfied, the initial rotation estimate can be calculated, and an extended Kalman filter procedure can be subsequently performed.
For estimation of the dozer blade attitude relative to the dozer body, a measurement system, according to an embodiment of the invention, includes inertial sensors mounted on the dozer body and inertial sensors mounted on the dozer blade. In an advantageous embodiment, as discussed in further detail below, the inertial sensors mounted on the dozer body are housed in a first inertial measurement unit (IMU), and the inertial sensors mounted on the dozer blade are housed in a second IMU. In some instances, as described in further detail below, an estimate of the dozer blade position relative to the dozer body can also be determined.
For measuring the attitude of the dozer blade relative to the dozer body, the number and type of inertial sensors depends on the number of angular degrees of freedom and on the required accuracy. For one angular degree of freedom, a single accelerometer mounted on the dozer body and a single accelerometer mounted on the dozer blade can be used. For two angular degrees of freedom, two accelerometers mounted on the dozer body and two accelerometers mounted on the dozer blade can be used. For three angular degrees of freedom, three accelerometers mounted on the dozer body and three accelerometers mounted on the dozer blade can be used.
The response of accelerometers to gravitational force is used to measure the pitch and the roll of the dozer blade relative to the dozer body, and the response of accelerometers to dynamic motions is used to measure the yaw of the dozer blade relative to the dozer body. Accelerometers are robust and operate reliably under harsh environmental conditions (such as shock and vibration) and provide highly accurate attitude calculations (less than one arc degree, which results in an accuracy of the calculation of the dozer blade position relative to the dozer body of less than one centimeter). Calculating yaw from the response of accelerations to dynamic motions is more accurate than calculating yaw from a magnetic sensor because, as discussed previously, magnetic sensors do not operate reliably under harsh environmental conditions and are sensitive to nearby magnetic objects.
Gyros filter spurious noise and improve accuracy. For lowest noise and highest accuracy, typically each accelerometer is paired with a corresponding gyro. The combination of gyros and accelerometers in an IMU is advantageous. For mounting outside the protected environment of the cabin, an IMU has a number of advantages over other sensors. An IMU can be packaged in a compact, robust housing that can be mounted directly on the dozer blade; no support mast is needed. The IMU and mount are therefore resistant to damage from shock, vibration, and impact with dirt, stones, and rocks. Data cables and power cables running to the IMU on the dozer blade are more robust than coax cables running to GNSS antennas mounted on the dozer blade. In some installations, cables running to the IMU on the dozer blade can be eliminated altogether: data is transmitted from the IMU over a wireless interface, and power is supplied by a battery contained within the IMU housing.
Refer to
Return to
Return to
In step 702, measurements of the dozer body acceleration vector, aIMU1=[ax
The process then passes to step 706, in which the estimate of the state vector X is updated with the new measurements. The process then passes to step 708 in which an estimate of the new state vector
X=[q0,q1,q2,q3,a1x
at the next epoch is predicted using (E26). The process then passes to step 710, in which an estimate of the dozer blade attitude relative to the dozer body is calculated from the estimate of the rotation quaternion {circumflex over (q)} (extracted from components of X).
The process then passes to step 712, in which an estimate of the dozer blade position relative to the dozer body is calculated. To calculate the dozer blade position relative to the dozer body from the values of the dozer blade attitude relative to the dozer body (calculated in step 710), geometrical parameters of the dozer body and of the dozer blade are needed. These geometrical parameters can be entered into the controller unit 140 via a user input device or stored in a data storage device in the controller unit 140 (more details are given below). Examples of geometrical parameters include (see
As discussed earlier, gyros filter spurious noise and improve accuracy. In applications in which higher levels of noise and lower accuracy are acceptable, an estimate of the attitude of a dozer blade relative to a dozer body can be calculated from accelerometer measurements without gyro measurements. The algorithms for a dozer blade with three angular degrees of freedom and the algorithms for a dozer blade with one angular degree of freedom are described below.
For a dozer blade with three angular degrees of freedom, the measurement vector for time epoch tk is given by
Zk=[1,a1x
In (E30), the leading element “1” refers to the square norm of the quaternion; see (E8). The state vector for time epoch tk is given by
Xk=[q0k,q1k,q2k,q3ka1x
when the dozer blade attitude relative to the dozer body is represented by a quaternion q as previously expressed in (E8). Then,
For a dozer blade with one angular degree of freedom, the measurement vector for time epoch tk is given by
Zk=[ax
and the state vector for time epoch tk is given by
χk=[ψk,ax
where ψ is an angle between the x1-axis and the x2-axis. From (E17), χk+1=χk+wk; and from (E18),
An embodiment of a controller unit 140 is shown in
The controller unit 140 includes a computer 802, which includes a processor [referred to as 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 controller unit 140 further includes a communications network interface 820, which interfaces the computer 802 with the communications network 402. As described above with reference to
The controller unit 140 can further include a user input/output interface 810, which interfaces the computer 802 to user input/output devices 812. Examples of user input/output devices 812 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.
Each of the interfaces described above can operate over different communications media. Examples of communications media include wires, 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 algorithm shown schematically in
In the discussion above, a dozer including a dozer body and a dozer blade operably coupled to the dozer body was used as an example of a machine for which embodiments of the invention can be applied. Embodiments of the invention can be used for other earthmoving machines; for example, a motorgrader including a motorgrader body (frame) and a motorgrader blade operably coupled to the motorgrader body. In general, embodiments of the invention can be used for a vehicle including a vehicle body and an implement operably coupled to the vehicle body; for example, the vehicle can be a paver with a paver body, and the implement can be a screed operably coupled to the paver body. An implement operably coupled to a vehicle body refers to an implement whose attitude relative to the vehicle body can be varied and controlled, either manually by an operator or automatically by a control system. In general, both the attitude and the position of the implement relative to the vehicle body can be varied and controlled.
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.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/RU2012/000088 | 2/10/2012 | WO | 00 | 1/23/2014 |
| Publishing Document | Publishing Date | Country | Kind |
|---|---|---|---|
| WO2013/119140 | 8/15/2013 | WO | A |
| Number | Name | Date | Kind |
|---|---|---|---|
| 4157118 | Suganami et al. | Jun 1979 | A |
| 5860480 | Jayaraman et al. | Jan 1999 | A |
| 7317977 | Matrosov | Jan 2008 | B2 |
| 8412418 | Kumagai et al. | Apr 2013 | B2 |
| 8571762 | McAree et al. | Oct 2013 | B2 |
| 8655588 | Wong et al. | Feb 2014 | B2 |
| 8738242 | Konno et al. | May 2014 | B2 |
| 20100012154 | Bitter et al. | Jan 2010 | A1 |
| 20100299031 | Zhdanov et al. | Nov 2010 | A1 |
| 20110313650 | Tom | Dec 2011 | A1 |
| 20120016623 | Hayner | Jan 2012 | A1 |
| 20130158819 | Callaway | Jun 2013 | A1 |
| Number | Date | Country |
|---|---|---|
| 19815894 | Oct 1998 | DE |
| 1630636 | Mar 2006 | EP |
| 2187166 | May 2010 | EP |
| 2010117230 | May 2010 | JP |
| 940651 | Jun 1982 | SU |
| Entry |
|---|
| International Search Report and Written Opinion dated Nov. 15, 2012, issued for corresponding application No. PCT/RU2012/000088, 6 pgs. |
| Number | Date | Country | |
|---|---|---|---|
| 20140207331 A1 | Jul 2014 | US |