Abstract:
A machine navigation system and method for estimating velocity of a machine is disclosed. The method may include receiving, from an odometer, a first signal indicative of a distance traveled by the machine and calculating a scale factor to compensate for an error associated with the first signal. The method may further include determining whether a second signal indicative of a location of the machine is received by the machine and selectively adjusting the scale factor using machine parameters to generate an adjusted scale factor, where selectively adjusting may be performed based on whether the second signal is received by the machine. The method may further include estimating the velocity of the machine based on the first signal and the adjusted scale factor.

Description:
TECHNICAL FIELD 
     The present disclosure relates generally to a machine navigation system and, more particularly, to a machine navigation system utilizing scale factor adjustment. 
     BACKGROUND 
     Machines such as, for example, dozers, motor graders, wheel loaders, wheel tractor scrapers, and other types of heavy equipment are used to perform a variety of tasks. Autonomously and semi-autonomously controlled machines are capable of operating with little or no human input by relying on information received from various machine systems. For example, based on machine movement input, terrain input, and/or machine operational input, a machine can be controlled to remotely and/or automatically complete a programmed task. By receiving appropriate feedback from each of the different machine systems during performance of the task, continuous adjustments to machine operation can be made that help to ensure precision and safety in completion of the task. In order to do so, however, the information provided by the different machine systems should be accurate and reliable. The velocity and distance traveled by the machine are parameters whose accuracy may be important for control and positioning of the machine. 
     Conventional machines typically utilize a navigation or positioning system to determine various operating parameters such as velocity, pitch rate, yaw rate, roll rate, etc. for the machine. Some conventional machines utilize a Distance Measurement Indicator (DMI) or odometer measurement to determine the velocity and distance traveled by the machine. For example, the machine controller may receive a measurement of the number of rotations of a wheel of the machine from the odometer and may calculate a distance traveled by the machine by using the number of rotations and a predetermined size of the wheel. The distance traveled may be utilized to determine the velocity of the machine. However, the distance calculated using the above method may have an error associated with it because the wheel size may change due to heat, tire pressure, road conditions, etc and the predetermined wheel size used to calculate the distance may not capture this wheel size change. Further, the rotations of the wheel may not accurately reflect the distance traveled if the wheels are subject to slipping. To compensate for such errors, some conventional machines utilize a scale factor for the distance calculation. In order to estimate the scale factor, an independent measurement for the distance traveled may be obtained by utilizing a Global Navigation Satellite System (GNSS). The distance calculated using GNSS data may be compared with the distance calculated using the odometer measurements and the scale factor may accordingly be adjusted to compensate for changes in wheel size due to the factors mentioned above. 
     An exemplary system that may be used to compensate for odometer measurement errors is disclosed in U.S. Pat. No. 6,360,165 (“the &#39;165 patent”) to Chowdhary that issued on Mar. 19, 2002. The system of the &#39;165 patent is capable of calculating the distance traveled by a vehicle. Specifically, the system of the &#39;165 patent multiplies an odometer signal proportionate to the number of rotations of a drive train member (such as a wheel) with an odometer conversion parameter to convert the odometer signal into an estimated distance (D r ) traveled. When a Global Positing System (GPS) signal is available, a distance (D g ) traveled by the vehicle is calculated using the GPS signal and the odometer conversion parameter is calibrated to bring D r  into closer proximity to D g . However, if the GPS signal is not reliable or the slip of the vehicle is higher than a certain threshold, the odometer conversion parameter is not updated to avoid introduction of slip related errors into the odometer conversion parameter. 
     Although the system of the &#39;165 patent may be useful in determining the distance traveled by a machine, the system may not provide accurate estimates for distance traveled and velocity of the machine while dead-reckoning (i.e., during periods of time when GPS signals are unavailable) because the odometer conversion parameter is not updated during loss of GPS signals. For example, the system of the &#39;165 patent may not compensate for any changes in the wheel size due to road conditions or weather conditions when the GPS signal is lost. In another scenario where the machine is loading or dumping materials carried by it while operating in an area where GPS signals are unavailable, a change in the wheel size is likely to occur but the system of the &#39;165 patent may not compensate for this wheel size change because it does not update the odometer conversion parameter when GPS signals are unavailable. 
     The navigation system of the present disclosure is directed toward solving one or more of the problems set forth above and/or other problems of the prior art. 
     SUMMARY 
     In one aspect, the present disclosure is directed to a system for estimating velocity of a machine. The system may include an odometer configured to generate a first signal indicative of a distance traveled by the machine, and a locating device configured to receive a second signal indicative of a location of the machine. The system may further include a sensor configured to provide parametric values associated with performance of the machine, and a controller in communication with the odometer, the locating device, and the sensor. The controller may be configured to calculate a scale factor to compensate for an error associated with the first signal and determine whether the second signal is received by the locating device. The controller may be further configured to selectively adjust the scale factor using the parametric values to generate an adjusted scale factor where selectively adjusting may be performed based on whether the second signal is received by the locating device. The controller may be further configured to estimate the velocity of the machine based on the first signal and the adjusted scale factor. 
     In another aspect, the present disclosure is directed to a method of estimating velocity of a machine. The method may include receiving, from an odometer, a first signal indicative of a distance traveled by the machine and calculating a scale factor to compensate for an error associated with the first signal. The method may further include determining whether a second signal indicative of a location of the machine is received by the machine and selectively adjusting the scale factor using machine parameters to generate an adjusted scale factor, where selectively adjusting may be performed based on whether the second signal is received by the machine. The method may further include estimating the velocity of the machine based on the first signal and the adjusted scale factor. 
     In yet another aspect, the present disclosure is directed to a non-transitory computer-readable storage device storing instruction for enabling a process to execute a method of estimating velocity of a machine. The method may include receiving, from an odometer, a first signal indicative of a distance traveled by the machine and calculating a scale factor to compensate for an error associated with the first signal. The method may further include determining whether a second signal indicative of a location of the machine is received by the machine and selectively adjusting the scale factor using machine parameters to generate an adjusted scale factor, where selectively adjusting may be performed based on whether the second signal is received by the machine. The method may further include estimating the velocity of the machine based on the first signal and the adjusted scale factor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a pictorial illustration of an exemplary disclosed machine; 
         FIG. 2  is a diagrammatic illustration of an exemplary disclosed navigation system that may be used in conjunction with the machine of  FIG. 1 ; and 
         FIG. 3  is a flowchart depicting an exemplary disclosed method performed by the navigation system of  FIG. 2 . 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  illustrates a machine  100  having an exemplary disclosed navigation system  110 . The machine  100  may be configured to perform some type of operation associated with an industry such as mining, construction, farming, transportation, power generation, or any other industry known in the art. For example, machine  100  may be an earth moving machine such as a haul truck, a dozer, a loader, a backhoe, an excavator, a motor grader, a wheel tractor scraper or any other earth moving machine. Machine  100  may generally include a frame  12  that at least partially defines or supports an operator station, one or more engines mounted to the frame, a plurality of traction devices  14  driven by the engine to propel machine  100 . The traction devices  14 , in the disclosed exemplary embodiments, are wheels located at opposing sides of machine  100 . Each traction device  14  may be independently driven to turn machine  100  or simultaneously and dependently driven to propel machine  100  in a straight direction. It is contemplated that one or all of traction devices  14  may be replaced with another type of traction device, if desired, such as belts or tracks. 
       FIG. 2  illustrates an exemplary embodiment of the navigation system  110 . The navigation system  110  may include an odometer  210 , a sensor  220 , a locating device  230 , and a controller  250 . The above sensors and the controller  250  may be connected to each other via a bus  290 . While a bus architecture is shown in  FIG. 2 , any suitable architecture may be used, including any combination of wired and/or wireless networks. Additionally, such networks may be integrated into any local area network, wide area network, and/or the Internet. 
     The odometer  210  may provide a signal indicative of a distance traveled by the machine. The odometer  210  may provide as the signal, a measurement of number of rotations of the traction device  14  (such as a wheel  14 ). The odometer  210  may also provide, as the signal indicative of a distance traveled by the machine, a measurement of number of rotations of a member of the machine  100 &#39;s drive train. For example, the odometer  210  may provide a measurement of number of rotations of an axle of the machine  100 . 
     The sensor  220  may include any device capable of providing parametric values or machine parameters associated with performance of the machine  100 . For example, the sensor  220  may include a payload sensor that provides a signal indicative of a payload of the machine  100 . The sensor  220  may further include a slip detector that provides a signal indicative of a slip of the machine  100 . The sensor  220  may further include devices capable of providing signals indicative of a slope of the ground on which the machine  100  is operating, an outside temperature, tire pressure if the traction device  14  is a wheel, etc. It will be understood that the sensor  220  may have one or more of the above-mentioned devices that provide the different parametric values or machine parameters such as payload, temperature, tire pressure, slip, slope, etc. 
     The locating device  230  may include any device capable of providing a signal that indicates the machine&#39;s location. For example, the locating device  230  could embody, a global satellite system device (e.g., a GPS or GNSS device), a laser range finding device, or any other known locating device that receives or determines positional information associated with machine  100  and can provide an independent measurement of the machine&#39;s position. The locating device  230  may be configured to convey a signal indicative of the received or determined positional information to one or more of interface devices for display of machine location, if desired. The signal may also be directed to a controller  250  for further processing. In the exemplary embodiments discussed herein, the locating device  230  receives a GPS signal as the location signal indicative of the location of the machine  100  and provides the received location signal to the controller  250  for further processing. However, it will be understood by one of ordinary skill in the art that the disclosed exemplary embodiments could be modified to utilize other indicators of the location of the machine  100 , if desired. 
     Controller  250  may include processor  251 , storage  252 , and memory  253 , included together in a single device and/or provided separately. Processor  251  may include one or more known processing devices, such as a microprocessor from the Pentium™ or Xeon™ family manufactured by Intel™, the Turion™ family manufactured by AMD™, any of various processors manufactured by Sun Microsystems, or any other type of processor. Memory  253  may include one or more storage devices configured to store information used by controller  250  to perform certain functions related to disclosed embodiments. Storage  252  may include a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, nonremovable, or other type of storage device or computer-readable medium. Storage  252  may store programs and/or other information, such as information related to processing data received from one or more sensors, as discussed in greater detail below. 
     In one embodiment, memory  253  may include one or more velocity estimation programs or subprograms loaded from storage  252  or elsewhere that, when executed by processor  251 , perform various procedures, operations, or processes consistent with the disclosed embodiments. For example, memory  253  may include one or more programs that enable controller  250  to, among other things, collect data from the odometer  210 , the sensor  220 , and the locating device  230 , process the data according to disclosed embodiments such as those embodiments discussed with regard to  FIG. 3 , and estimate the velocity of the machine  100  based on the processed data. 
     In certain exemplary embodiments, the velocity estimation programs may enable the controller  250  (more particularly enable the processor  251 ) to process the received signals using a Kalman filter to estimate the velocity of the machine  100 . A Kalman filter is a mathematical method that may be used to determine accurate values of measurements observed over time, such as measurements taken in a time series. The Kalman filter&#39;s general operation involves two phases, a propagation or “predict” phase and a measurement or “update” phase. In the predict phase, the value estimate from the previous timestep in the time series is used to generate an a priori value estimate. In the update phase, the a priori estimate calculated in the predict phase is combined with an estimate of the accuracy of the a priori estimate (e.g., the variance or the uncertainty), and a current measurement value to produce a refined a posteriori estimate. 
     In certain exemplary embodiments, the controller  250  may be enabled to implement a “predict” and “update” phase of a Kalman filter. In the “predict” phase, the controller  250  may receive, from the odometer  210 , a signal indicative of the distance traveled by the machine  100 . For example, the controller  250  may receive, from the odometer  210 , a measurement of number of rotations of a traction device  14  (for example, wheel  14 ). The controller  250  may also receive a scale factor, which when multiplied by the number of rotations of traction device  14 , provides the distance traveled by the machine  100  in a given time period. The scale factor received by the controller  250  may be calculated in a previous “update” phase of the Kalman filter implemented by the controller  250 . 
     The controller  250  may calculate, during the “predict” phase, the distance traveled by the machine  100  by multiplying the received scale factor with the number of rotations of traction device  14 . During the “predict” phase, the controller  250  may also estimate a velocity of the machine  100  by dividing the calculated distance by a time period corresponding to the calculated distance. In the “predict” phase, the controller  250  may also calculate an estimated uncertainty for the scale factor. Exemplarily, an uncertainty measure from an error covariance matrix of the Kalman filter may be utilized as the estimated uncertainty for the scale factor. 
     Having completed the “predict” phase, the controller  250  may execute the “update” phase of the Kalman filter. In the “update” phase, the controller  250  may utilize an independent measurement of the distance traveled or the velocity of the machine  100  to adjust the scale factor. Exemplarily, the controller  250  may utilize the location signals (for example, GPS signals) received from the locating device  230  to calculate a distance traveled by the machine  100 . The controller  250  may then utilize the calculated distance to calculate a velocity of the machine  100 . The controller  250  may next compare the distance/velocity from the “predict” phase and the distance/velocity from the “update” phase and adjust the scale factor to bring the “predict” phase distance/velocity closer to the “update” phase distance/velocity. The adjusted scale factor may be utilized by the controller  250  in the next iteration of the “predict” phase. In the “update” phase, the controller  250  may also calculate an estimated uncertainty for the scale factor. Exemplarily, an uncertainty measure from an error covariance matrix of the Kalman filter may be utilized as the estimated uncertainty for the scale factor. 
     Under certain conditions, the controller  250  may not execute the “update” phase of the Kalman filter after the “predict” phase. For example, if a location signal is not received by the locating device  230 , the controller  250  may not execute the “update” phase of the Kalman filter because an independent measurement of the distance traveled or velocity of the machine  100  is not available. Exemplarily, the controller  250  may determine that a location signal is not received by the location device  230  if no location signal is received by the locating device  230  or an unreliable (for example, very weak) location signal is received by the locating device  230 . Such a situation may occur, for example, when the machine  100  is operating in an area where GPS signals are not available or only very weak GPS signals are available. 
     In such conditions, where the controller  250  determines that a location signal is not received by the locating device  230  or that an unreliable location signal is received by the locating device  230 , the controller  250  may utilize machine parameters or parametric values from the sensor  220  to adjust or update the scale factor used in the “predict” phase. For example, the controller  250  may receive one or more machine parameters or parametric values such as payload, slip, slope, temperature, and tire pressure from the sensor  220 . The controller  250  may also retrieve corresponding lookup tables from storage  252  or memory  253  for the received machine parameters. For example, the memory  253  or storage  252  may store a lookup table for each of payload, slip, slope, temperature, and tire pressure, and the controller  250  may retrieve one or more of these lookup tables based on the machine parameters received from the sensor  220 . The lookup tables may specify a measure of adjustment for the scale factor and scale factor uncertainty for a value of the received machine parameter. For example, a lookup table for slip may specify that if the slip increases by a certain amount, the scale factor and the scale factor uncertainty should be adjusted by a certain amount. In another example, a lookup table for slip may specify particular values or ranges for the scale factor and scale factor uncertainty corresponding to specific values or ranges for the slip of the machine  100 . Similar lookup tables may be stored in the storage  252  or memory  253  for the other machine parameters such as payload, outside temperature, tire pressure etc. 
     The controller  250  may utilize the above lookup tables to adjust the current scale factor and scale factor uncertainty to generate an adjusted scale factor. In an exemplary embodiment, the controller  250  may add the different scale factor changes for the different machine parameters to adjust the scale factor. The adjusted scale factor may be utilized by the controller  250  in the next cycle or iteration of the “predict” phase to calculate the distance traveled and velocity of the machine  100 . 
       FIG. 3  is an exemplary process implemented by the controller  250  to estimate the velocity of the machine  100 . A detailed description of  FIG. 3  is provided in the next section. 
     Industrial Applicability 
     The disclosed navigation system  110  may be applicable to any machine where accurate detection of the machine&#39;s velocity and/or distance traveled is desired. The disclosed navigation system may provide for improved estimation of the machine&#39;s velocity and/or distance traveled by utilizing machine parameters to adjust the scale factor when the machine is operating under conditions where a location signal is unavailable. Operation of the navigation system  110  will now be described in connection with the flowchart of  FIG. 3 . 
     In step  301 , the controller  250  may receive, from the odometer  210 , a signal indicative of the distance traveled by the machine  100 . For example, the controller  250  may receive, from the odometer  210 , a measurement of number of rotations of a traction device  14  (for example, wheel  14 ). 
     In step  302 , the controller  250  may calculate or “predict” the distance traveled and/or velocity of the machine  100  by utilizing a scale factor and the signal received from the odometer  210 . For example, the controller  250  may multiply the scale factor the with the number of rotations of traction device  14  indicated by the signal received from the odometer  210 . Further, the controller  250  may also estimate a velocity of the machine  100  by dividing the calculated distance by a time period corresponding to the calculated distance. Also, the controller  250  may calculate an estimated uncertainty for the scale factor. Exemplarily, an uncertainty measure from an error covariance matrix of the Kalman filter may be utilized as the estimated uncertainty for the scale factor. It will be noted that steps  301  and  302  discussed above may correspond to the “predict” phase of the Kalman filter. 
     In step  303 , the controller  250  may determine whether a location signal is received by the locating device  230 . Exemplarily, the controller  250  may determine that a location signal is not received by the location device  230  if no location signal is received by the locating device  230  or an unreliable (for example, very weak) location signal is received by the locating device  230 . Such a situation may occur, for example, when the machine  100  is operating in an area where GPS signals are not available or only very weak GPS signals are available. 
     If the controller  250  determines in step  303  that a reliable location signal (a strong enough location signal) is received by the locating device  230 , the controller  250  may proceed to executing the “update” phase of the Kalman filter in step  304 . Exemplarily, the controller  250  may utilize the location signals (for example, GPS signals) received from the locating device  230  to calculate an updated distance traveled by the machine  100 . The controller  250  may then utilize the updated distance to calculate an updated velocity of the machine  100 . 
     Having calculated the distance and/or velocity in step  304 , the controller  250  may adjust the scale factor in step  305 . For example, the controller  250  may compare the distance/velocity from the “predict” phase and the distance/velocity from the “update” phase and adjust the scale factor to bring the “predict” phase distance/velocity closer to the “update” phase distance/velocity. The adjusted scale factor may be utilized by the controller  250  in the next iteration of the “predict” phase. In step  305 , the controller  250  may also calculate an estimated uncertainty for the scale factor. Exemplarily, an uncertainty measure from an error covariance matrix of the Kalman filter may be utilized as the estimated uncertainty for the scale factor. 
     If the controller  250  determines in step  303  that a location signal is not received by the locating device  230  or that an unreliable locating signal is received by the locating device  230 , the controller  250  may proceed to step  306 . In step  306 , the controller  250  may utilize machine parameters or parametric values from the sensor  220  to adjust or update the scale factor previously used in the “predict” phase. For example, the controller  250  may receive one or more machine parameters or parametric values such as payload, slip, slope, temperature, and tire pressure from the sensor  220 . The controller  250  may also retrieve corresponding lookup tables from storage  252  or memory  253  for the received machine parameters, as discussed previously. The controller  250  may utilize the lookup tables to adjust the current scale factor and scale factor uncertainty to generate an adjusted scale factor. The adjusted scale factor may be utilized by the controller  250  in the next cycle or iteration of the “predict” phase to calculate the distance traveled and velocity of the machine  100 . The process may continue to repeat in this manner until receiving instructions to stop or until new data ceases to be collected from the machine  100 . 
     The disclosed exemplary embodiments may allow for accurate estimation of the distance traveled and/or velocity of the machine  100 . For example, by adjusting the scale factor by using machine parameters when the location signals are not available, an accurate estimation of the velocity of the machine  100  may be possible. 
     It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed navigation system. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed navigation system. It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.