This disclosure relates generally to a control system for a machine and, more particularly, to online system identification for automatically identifying a plant model used by the control system in controlling the machine.
Computer-based control methodologies may be used in many industries to facilitate efficient and accurate control of complex systems. These control methodologies often use various algorithms or models to simulate operation of complex systems such as heavy machinery, internal combustion engines, communication networks, buildings, airplanes, power plants, etc. For example, a model for a machine control system may provide correlations between various manual and automated inputs and the resulting outputs that determine operations and behaviors of engines and generators that power the machine, movement of work tools such as the bucket on a front end loader and the blade on a bulldozer, and the overall movement of a mobile machine. The system to be controlled is generally referred to as the “plant”. Computationally intense simulations are required to evaluate the accuracy of these plant models for the control system. A more accurate plant model for the control system reduces errors or differences between actual responses of the plant to control signals received from the control system and predicted responses of the plant, which is the output of the plant model.
Various machines are often controlled using onboard electronic controllers. Example machines include earth moving machines such as tractors, front end loaders, dump trucks, excavators, and mining machinery. Among other operations, the onboard electronic controllers typically manage the use of engines, generators, solenoid valves, motors, pumps, and other equipment onboard the machine. The electronic controllers could, for example, initiate production of control signals that are provided to the various equipment onboard the machine, monitor the resulting operation of the equipment, and generate alarms when malfunctions are detected. One example of a conventional controller is the Proportional-Integral-Derivative (PID) controller, which is very common in industrial control systems. These types of controllers are often “tuned” or adjusted during operation, which involves altering parameters of the controllers to ensure more reliable or accurate operations. Conventional controllers also typically operate using plant models that are derived offline using commercial software such as the graphical programming environment SIMULINK® integrated within the software MATLAB® developed by Mathworks. The models allow the controllers to determine, based on input signals from sensors or other data, how to control the equipment. For long-term and successful control of the machinery, it is often necessary to perform “system identification” in order to generate and update an accurate model of the plant being controlled.
The various controller plant models may be derived by using a large number of data sets of operating parameters and design parameters that correlate to corresponding output signals. Optimization methods may be used to find optimum plant models that provide accurate predictions of output signals. The optimization of plant models may be carried out by various techniques and may often involve many iterations of simulations. System identification, or the derivation of a plant model that will provide an accurate relationship between inputs to the plant and calculated output parameters corresponding to actual output parameters for the plant can take a long time and utilize a large amount of computing resources. For example, U.S. Pat. No. 8,321,183 issued to Shah et al. on Nov. 27, 2012 (the '183 patent), discloses a computer-implemented method of designing a system to achieve a target goal. The method disclosed in the '183 patent creates an inventory of a plurality of variables that affect the design of the system. The inventory includes a feasibility range for each of the plurality of variables contained in the inventory. Initial values are assigned for the plurality of variables and a model of input to output correlations of the variables is created. The processor then attempts to achieve a goal for the system by manipulating the variables in a particular order based on the respective levels of effects.
While the method disclosed in the '183 patent may assist a product designer in determining modifications that should be made to various input variables to achieve system goals, there is still room for improvement. For example, the techniques disclosed in the '183 patent may depend on having already identified a particular plant model that establishes the correlation between input signals and associated responses of the system. Identification of a plant model, or system identification, is a critical step in the design of an optimum control system for the plant. However, system identification takes a long time and consumes a large amount of computing resources. As discussed above, the preliminary identification of an acceptable plant model is therefore generally performed offboard the machine or system using commercially available software that consumes a large amount of time and computing resources. Therefore, a system identification tool that can provide accurate estimates of new plant models onboard a machine with significantly less computation required, and update existing plant models automatically and in real time would save significant amounts of time and money in the development of control systems.
Methods and systems consistent with certain features of the disclosed systems are directed to solving one or more of the problems set forth above or other problems in the prior art.
One aspect of the present disclosure includes a control system for a machine. The control system may include one or more sensors and actuators configured to measure and control operational characteristics of the machine, and an electronic controller mounted onboard the machine. The electronic controller may be configured to receive a sensor signal indicative of an operational parameter of the machine, and to output a control signal to an actuator to control an operational characteristic of the machine. The electronic controller may include a poles-zeros identification module configured for determining poles of one or more transfer functions as roots of the denominator of the one or more transfer functions and determining zeros of the one or more transfer functions as roots of the numerator of the one or more transfer functions. The electronic controller may also include an onboard system identification module configured for online, real-time identification of the one or more transfer functions that govern a dynamic relationship between one or more inputs and one or more outputs of at least one plant model. The at least one plant model may be representative of behaviors of the machine and may simulate a dynamic influence of the operational parameter on a desired output of the machine. The onboard system identification module may be further configured to define an order of a numerator of the one or more transfer functions and an order of a denominator of the one or more transfer functions based on a complexity of the dynamic relationship between the one or more inputs and the one or more outputs. The electronic controller may further include a testing module configured for generating a reference signal and supplying the reference signal as an input to the one or more transfer functions, and a comparator configured for determining an accuracy of the at least one plant model by determining an error between a measured response of the machine to the reference signal and a predicted response obtained from the one or more transfer functions with the poles and zeros.
Another aspect of the present disclosure includes a method of controlling a machine. The method may include measuring an operational parameter characterizing operation of the machine using a sensor, receiving at an onboard electronic controller a sensor signal from the sensor indicative of the operational parameter of the machine, and outputting a control signal from the onboard electronic controller to an actuator to control an operational characteristic of the machine. The method may also include determining poles of one or more transfer functions as roots of the denominator of the one or more transfer functions and determining zeros of the one or more transfer functions as roots of the numerator of the one or more transfer functions, identifying in real-time one or more transfer functions using a system identification module that is included in the onboard electronic controller, wherein the one or more transfer functions govern a dynamic relationship between one or more inputs and one or more outputs of at least one plant model, and wherein the at least one plant model is representative of behaviors of the machine and simulates a dynamic influence of the operational parameter on a desired output of the machine. The method may further include defining an order of the one or more transfer functions based on a complexity of the dynamic relationship between the one or more inputs and the one or more outputs, generating a reference signal and supplying the reference signal as an input to the one or more transfer functions, and determining an accuracy of the at least one plant model by determining an error between a measured response of the machine to the reference signal and a predicted response calculated from locations of the poles and zeros of the one or more transfer functions.
Another aspect of the present disclosure includes a computer-readable medium for use in a machine control system, the computer-readable medium comprising computer-executable instructions for performing a method with at least one processor of an onboard electronic controller of a machine. The method may include receiving at the onboard electronic controller a sensor signal from a sensor indicative of an operational parameter of the machine, and outputting a control signal from the onboard electronic controller to an actuator to control an operational characteristic of the machine. The method may also include determining poles of one or more transfer functions as roots of the denominator of the one or more transfer functions and determining zeros of the one or more transfer functions as roots of the numerator of the one or more transfer functions, identifying in real-time the one or more transfer functions using a system identification module that is included in the onboard electronic controller, wherein the one or more transfer functions govern a dynamic relationship between one or more inputs and one or more outputs of at least one plant model, and wherein the at least one plant model is representative of behaviors of the machine and simulates a dynamic influence of the operational parameter on a desired output of the machine. The method may further include defining an order of the one or more transfer functions based on a complexity of the dynamic relationship between the one or more inputs and the one or more outputs. The method may still further include generating a reference signal and supplying the reference signal as an input to the one or more transfer functions, and determining an accuracy of the at least one plant model by determining an error between a measured response of the machine to the reference signal and a predicted response calculated from locations of the poles and zeros of the one or more transfer functions.
As shown in
The powertrain 14 may include, among other things, an engine 15 and a transmission 17. The engine 15 may be secured to the frame 30 via a mounting system 16, and may be configured to produce a rotational power output. The transmission 17 may then convert the power output to a desired ratio of speed and torque. The rotational power output may be used to drive a pump that supplies pressurized fluid to the cylinders 32, 36, and 38; to the swing motor 44; and/or to one or more motors (not shown) associated with the traction devices 26. In some embodiments, the rotational power output of the engine 15 may additionally be directed to drive a generator that produces electricity used to control the machine 10. The engine 15 may be a combustion engine configured to burn a mixture of fuel and air, the amount and/or composition of which directly corresponding to the rotational power output. The transmission 17 of the powertrain 14 may take any form known in the art, for example a power shift configuration that provides multiple discrete operating ranges, a continuously variable configuration, or a hybrid configuration.
The operator station 18 may include a cabin for housing one or more operator interface devices 46 located proximate an operator seat (not shown). The interface devices 46 may be embodied as joysticks, pedals, switches, wheels, knobs, and/or any other device known in the art. The interface device 46 may be configured to generate signals that are used to control the machine 10. For example, the interface device 46 may be a joystick that, when displaced from a neutral position, creates a signal indicative of a desired machine or tool speed or force in a particular direction. This signal may be then be used to actuate any one or more of the hydraulic cylinders 32, 36, 38; the swing motor 44; and/or the traction motors discussed above.
Numerous different work tools 20 may be attachable to a single machine 10 and controllable via the operator station 18. The work tool 20 may include any device used to perform a particular task such as, for example, a bucket, a fork arrangement, a blade, a shovel, a truck bed, or any other task-performing device known in the art. Although connected in the embodiment of
As illustrated in
The exemplary control system illustrated in
The implement sensor 212 may be configured to generate a signal indicative of the presence of a particular work tool 20 mounted on the stick 34. This information may be provided by a Radio Frequency Identification (RFID) device mounted on the work tool 20. The implement sensor 212 may also be configured to generate a signal indicative of an exact position of an edge of a work tool such as the work tool 20 shown in
The grade sensor 214 may be configured to determine a grade of a work surface 31 under the machine 10. For example, the grade sensor 56 may be configured to generate a signal indicative of a position and/or orientation of a particular point on the machine 10 (e.g., of an intermediate point on an associated front or rear axle). The position/orientation may then be used to calculate an overall pitch of the machine 10 in a travel direction, and a corresponding grade of the work surface 31 under the machine 10. In an alternative embodiment, the grade sensor 214 may be an Inertial Measurement Unit (IMU) having one or more accelerometers and/or gyroscopes that generate signals indicative of the change in machine orientation relative to the force of gravity. Other types of sensors may alternatively be used to determine the grade of the work surface 31. Signals generated by the grade sensor 214 may be directed to the onboard electronic controller 250 for further processing.
The load sensor 216 may be configured to generate a signal indicative of a load carried by, moved by, or otherwise bearing on the machine 10. In one example, the load sensor 216 may be a pressure sensor associated with any one or more of the cylinders 32, 36, and 38, the signal from this sensor being used to calculate a load on the corresponding cylinder that can be related to the load carried by the work tool 20. In another example, the load sensor 216 may be a mechanical load cell strategically placed between mating mechanical components of the machine 10 (e.g., between linkage members) and/or on support structure of the implement system 13. The signal from this load sensor 216 may be related to strain of the components and used to calculate the load on the work tool 20. The signals from the load sensor 216 may be directed to the electronic controller 250 for further processing.
Additional sensors such as the orientation sensor 218 and hydraulic flow sensor 220 may provide inputs to the electronic controller 250. In addition to these automatically provided inputs from various sensors, operator manual inputs 230 such as movements of a joystick, lever, or other input device, may be provided to the electronic controller 250. Additionally, stored plant models 232 may be retrieved from memory onboard the machine or from one or more databases offboard the machine and in wireless communication with the electronic controller 250. The stored plant models 232 may be representative of known behaviors of a particular machine under various circumstances, and may be used to simulate a dynamic influence of various operational parameters on movement of the work tool 20 or other outputs of the machine 10.
The electronic controller 250 mounted onboard the machine 10 may be configured to receive a sensor signal indicative of an operational parameter of the machine, and to output a control signal to an actuator to control an operational characteristic of the machine. Some examples of actuators that control operational characteristics of the machine are illustrated in
The onboard system identification module 256 may be further configured to define an order of a numerator of a transfer function and an order of a denominator of a transfer function based on a complexity of the dynamic relationship between the inputs to the machine and the outputs of the machine. Higher order polynomial equations may be required in the numerator and denominator of each transfer function to provide an accurate representation of the correlation between inputs and outputs for the machine when a large number of factors influence an output such as movement of a work tool. Some exemplary factors that may increase the complexity of the dynamic relationship may include complexity of the machine structure such as the numbers of hydraulic components activated to move a work tool, wear and tear on various components of the machine, the age of the machine, external environmental conditions, etc.
The poles-zeros identification module 258 included in the onboard system ID module 256 in the electronic controller 250 may be configured for determining poles of each transfer function as roots of the denominator of the transfer function and determining zeros of each transfer function as roots of the numerator of the transfer function. Providing a transfer function in factored form may allow the onboard electronic controller 250 to quickly determine and/or update an optimal plant model for use in controlling the machine in real time without requiring any offboard computing resources. Location of the poles and zeros for a transfer function requires considerably less calculation and computing resources than derivation of the coefficients of the polynomials of a transfer function in normal form. The search space for determining the poles and zeros is directly related to the location of each pole and zero, and therefore the order of the transfer function selected to represent the dynamic relationship between inputs and outputs for the machine does not affect the size of the search space.
The automatic process performed by the onboard system identification module 256 mainly with the poles-zeros identification module 258 can be done much faster and with higher accuracy than standard, offline approaches to system identification. The electronic controller 250 in accordance with various exemplary implementations of this disclosure uses a direct pole-zero approach to find a plant model that provides the best representation of the correlation between machine inputs and outputs. The direct pole-zero approach simplifies optimization of system identification over the conventional direct coefficient search-based approach performed offline by commercial software. As an example, it may be assumed that a plant model for a machine to be identified can be represented by a 5th order differential equation. After several iterations, system identification tools may determine that the machine or plant has a 5th order model with the following form:
where the coefficients of the polynomials in the numerator and denominator of the transfer function (aj (j=1, 2, 3, 4, 5) and bk (k=0, 1, 2, 3, 4)) are parameters to be estimated by using the system identification tools. Conventional methods of system identification try to find the coefficients of the polynomials aj (j=1, 2, 3, 4, 5) and bk (k=0, 1, 2, 3, 4) directly. However, the size of the search spaces for each parameter can vary widely as a function of the order of the numerator and denominator of the transfer function, and may not be easily determined from or related to observed motion or other outputs of the machine. It is likely that as the number in the subscripts for the coefficients of the polynomials increases with higher order transfer functions, the search spaces required to identify the coefficients also increase. As an example, a1 may be found between 0 and 10, while a5 may require a search space between 0 and 10000. Therefore, when expressing a transfer function in standard form with polynomials in the numerator and the denominator having sufficiently high order to provide an accurate representation of the motion of the machine, the search spaces for determination of the coefficients of the polynomials may become very large.
However, when the transfer function is presented in factored form by the poles-zeros identification module 258, predictions of the locations of the poles and zeros of the unknown plant model may be determined from the movement or other outputs of the machine, and the required search spaces for determining the poles and the zeros of the transfer function are considerably smaller than the search spaces required for finding the coefficients of the polynomials of a transfer function in standard form. The transfer function of the 5th order plant model may be written in factored form by the determination of the number of poles and zeros:
where cj (j=1, 2, 3, 4) and dk (k=1, 2, 3, 4, 5) are, respectively, zeros and poles of the transfer function G(s), which can be either pure real numbers, pure imaginary numbers, or complex numbers.
As shown in
The onboard electronic controller 250 may also be configured to communicate with a graphical user interface (display) 260 to present to a machine operator in real time at least one plant model identified by the onboard system identification module 256, and an associated accuracy of the at least one plant model as determined by the comparator. The user interface may be further configured to receive a selection by the machine operator of at least one of a preferred plant model or a request for identification of a plant model with an improved accuracy.
It should be noted that, while only a single processor 252 is shown in the electronic controller 250 of
The disclosed systems and methods for controlling a machine may enable automatic, online, real-time identification of accurate plant models for use by a control system of the machine. Conventional system identification has required the collection of large amounts of data during the operation of a machine, transfer of the collected data offboard the machine for computer processing involving complex and time consuming commercial software to find a representative plant model, and then loading of the plant model back into the machine control system for use in controlling operations of the machine. Methods and systems in accordance with various implementations of this disclosure significantly streamline the process of developing accurate plant models for use in controlling machines. The exemplary disclosed implementations reduce the time and computing resources previously required for development and updating of plant models, thereby enabling an electronic controller onboard the machine to automatically identify accurate plant models online and in real time as operational circumstances change.
A method in accordance with various exemplary implementations of the disclosed system identification processes may include measuring an operational parameter characterizing operation of the machine using a sensor. An onboard electronic controller may receive a sensor signal indicative of the operational parameter of the machine, and output a control signal to an actuator to control an operational characteristic of the machine. The method may also include identifying in real-time one or more transfer functions using a system identification module that is included in the onboard electronic controller, wherein the one or more transfer functions govern a dynamic relationship between one or more inputs and one or more outputs of at least one plant model. The at least one plant model is representative of behaviors of the machine and simulates a dynamic influence of the operational parameter on a desired output of the machine.
The disclosed methods may further include defining an order of the one or more transfer functions based on a complexity of the dynamic relationship between the one or more inputs and the one or more outputs, and determining the one or more transfer functions. Poles of a transfer function may be determined as roots of the denominator of the one or more transfer functions, and zeros of the one or more transfer functions may be determined as roots of the numerator of the one or more transfer functions. The method may still further include generating a reference signal and supplying the reference signal as an input to the one or more transfer functions. A reference signal may comprise PRBS data. An accuracy of a plant model characterized by the one or more transfer functions may be calculated by determining an error between an actual response of the machine to the reference signal and a predicted response obtained from the transfer function with the poles and zeros.
Various implementations of the disclosed online system identification method may be performed by one or more processors included in the electronic controller 250 mounted on the machine 10. The one or more processors may also measure the rise time, or time it takes a control signal or command input to change from a specified low value to a high value. The control system of the machine may be configured to produce various control signals indicative of commands that are provided to various actuators, motors, pumps and other components that control motion and operation of the machine. The control signals may be determined by the one or more processors to achieve performance characteristics for the machine specified in terms of time-domain quantities, and in terms of transient and steady-state responses to a unit step input. A unit step signal may be used because of a close correlation between the control system's response to the unit step input and the control system's ability to perform under normal operating conditions.
As shown in
After determining the response of the machine to a reference signal such as the PRBS data injected to the plant, post processing steps may be performed in the machine 10 online and in semi-real-time, as illustrated in Box 317 of
Step 422 in
Step 428 in
As shown by the detailed steps illustrated in
The details of finding a local minimum error at Step 528 are illustrated in
The details of finding a local minimum error at Step 528 in
Other embodiments, features, aspects, and principles of the disclosed exemplary systems and methods will be apparent to those skilled in the art and may be implemented in various environments and systems.