A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention generally relates to intelligent control systems and more particularly in one exemplary aspect to computer apparatus and methods for implementing an adaptive critic within e.g., an adaptive critic framework.
2. Description of Related Art
So-called “intelligent control” is a class of control techniques that utilize various computing approaches from artificial intelligence, including neural networks, Bayesian probability, fuzzy logic, machine learning, evolutionary computation and genetic algorithms (see White, D. and Sofge, D. (Eds.) (1992) Handbook of Intelligent Control: Neural, Fuzzy and Adaptive Approaches. Van Nostrand Reinhold, New York, incorporated herein by reference in its entirety). Intelligent controllers are finding increasing use today in complex systems control applications, such as for example autonomous robotic apparatus for navigation, perception, reaching, grasping, object manipulation, etc. (see Samad T., (Ed.) (2001) Perspectives in Control: New Concepts and Applications,” IEEE Press, NJ, incorporated herein by reference in its entirety).
Typically, intelligent controllers need to infer a relationship between the control signals (generated by the controller) and operational consequences upon a controlled apparatus (also referred to as “the plant”), that are described by changes of the plant state. Various learning methods are often used by intelligent controllers in order to approximate such relationships (see White and Sofge discussed supra; and Samad, T. (Ed.) (2001) Perspectives in Control Engineering. New York, each incorporated herein by reference in its entirety). By way of example, controllers that are used in tracking applications (such as, for example, robotic arms welding or painting car pieces along a predefined trajectory, mobile robots following predefined paths, etc.), aim to ensure that the plant state follows a desired trajectory (the target state trajectory) as closely as possible. In order to achieve trajectory tracking, the controller modifies control parameters (such as e.g. control gains) aiming to minimize an error between the target plant state (such as, for example, a desired robot configuration) and the actual (observed) plant state (such as, for example, an actual robot configuration) at every time instance. Performance of such controllers is typically quantified either by the magnitude of the tracking error, or by certain monotonic functions of the tracking error that are minimized, corresponding to minimized error between the target and actual state. Such functions are commonly referred to as the performance measures (see Goodwin G. (2001). Control System Design. Prentice Hall, incorporated herein by reference in its entirety).
Adaptive critic design (ACD) is a class of adaptive algorithms for intelligent control applications that is suitable for learning in noisy, nonlinear, and non-stationary dynamic systems. A family of ACD algorithms was proposed by Werbos P. J. (1992) in “Approximate dynamic programming for real-time control and neural modeling”. Handbook of Intelligent Control: Neural, Fuzzy and Adaptive Approaches, White D. A. and Sofge D. A. discussed supra, incorporated herein by reference in its entirety, as an optimization technique.
The ACD methods utilize two parametric blocks, commonly referred to as the controller (or the “actor”) and the “critic”, as described below with respect to
Referring now to
The control apparatus 100 is configured to perform control tasks in order to achieve the desired (target) plant state. The control apparatus 100 receives the input desired state signal xd(t) (such as for example, a reference position of a robot, or a desired temperature for the heating ventilation and air conditioning (HVAC) system), and it produces a current plant state signal x(t). The control apparatus may further comprise a sensing or state estimation apparatus (not shown) that is used to provide a real-time estimate of the actual plant state x(t). The state signal x(t) typically represents full or partial dynamical state of the plant (e.g. current draw, motor position, speed, acceleration, temperature, etc.). In one variant, such as applicable to control applications where the full plant state x(t) is not available directly, various estimation methods may be used for state estimation, such as those described by Lendek Z. S., Babuska R., and De Schutter B. (2006) State Estimation under Uncertainty: A Survey. Technical report 06-004, Delft Center for Systems and Control Delft University of Technology, incorporated herein by reference in its entirety.
The control blocks 104, 108 of the control apparatus 100 receive the target state input xd(t) via the pathways 102 and implement various parameterized control rules in order to generate the control signal u(t) (comprising for example, vehicle speed/direction in a position tracking application; or heater power/fan speed in an HVAC application). The control signal is provided to the plant 106 via the pathway 110, and is configured to move the current plant state x(t) towards the desired state (the target state) xd(t). The control system 100 implements feedback control (closed-loop control), where the feedback signal x(t) is provided via the signaling lines 112 to the actor block. Alternatively, the control system 100 implements an open-loop control {feed-forward control) and in this case no feedback signal from the plant state to the actor is present. Other implementations exist, such as a combination of open-loop and close-loop control schemes.
The critic block 108 receives the target state input xd(t) via the pathway 102, the control signal u(t) via the pathway 110, the current state signal x(t) via the pathway 112_1. The critic block 108 is configured to estimate the control performance function V(t), also referred to as the “cost-to-go”, that is typically defined for discrete systems as follows:
V(t)=Σk=0NγkJ(t+k), Eqn. 1
where:
γ is a discount factor for finite horizon problems (0<γ<1);
k is the time step index; and
J(t) is the performance measure (also known as a utility function or a local cost) at time t.
For continuous systems, the summation operation in Eqn. 1 is replaced by an integral, and the term γk is replaced with an exponential function.
The ‘cost-to-go’ function V(t) captures the effect that the control rules (implemented by the actor block 104) have on the control performance of the control apparatus 100 over a predetermined period of time into the future.
At every time step k, the critic block 108 provides ‘guidance’ to the actor block 104 via the reinforcement signal R(t) via the pathway 114. For discrete time systems, the reinforcement signal R(t) is typically defined based on the current estimate of the cost function V(t) and a prior estimate of the cost function V(t−1) as follows:
R(t)=J(t)+γV(t)−V(t−1) (Eqn. 2)
where γ is the same constant parameter as in Eqn. 1. More details on this methodology are be found e.g. in R. S. Sutton and A. G. Barto (1998), Reinforcement Learning—An Introduction. MIT Press, incorporated herein by reference in its entirety.
For continuous time systems the reinforcement signal is calculated as:
R(t)=J(t)−βV(t)+{dot over (V)}(t) (Eqn. 3)
where □ is a constant parameter and {dot over (V)}(t) is a time derivative of V(t). More details on the continuous time version are provided in; Kenji Doya (2000), Reinforcement Learning in Continuous Time and Space, Neural Computation, 12:1, 219-245, incorporated herein by reference in its entirety.
Typically, the actor block 104 has no a priori knowledge of the plant 106 dynamic model. Based on the reinforcement signal R(t), the actor block 104 modifies its control parameters (such as for example, gain) in order to generate the control signal u(t) which minimizes the cost-to-go function. For example, in the case of trajectory tracking or set-point control tasks, the minimization of the cost-to-go function corresponds to minimizing the cumulative error between the target and actual plant state, computed as the plant progresses along control trajectory towards the target state.
The value estimator block 220 in
The adjustment block 224 (denoted by the γ symbol in
Traditional ACD approaches, such as those described with respect to
Accordingly, there is a salient need for an adaptive critic design apparatus and associated methods that aim at optimizing control rules without the foregoing limitations; e.g., that are based on the observed present and past control system performance.
The present invention satisfies the foregoing needs by providing, inter alia, apparatus and methods for intelligent control, including apparatus and methods for implementing critic designs using adaptive learning.
In first aspect of the invention, a computerized control apparatus configured to optimize control of an apparatus e.g., robotic device) is described. In one embodiment, the control apparatus comprises a plant block in communication with the robotic device, the plant block configured to output a current plant state signal, an actor block configured to receive a target plant state signal, a current plant state signal, and a reinforcement signal, and to communicate a control signal to the plant block, and a critic block configured to receive the control signal from the actor block, and to provide the reinforcement signal to the actor block. In one variant, the critic block comprises an interpolator configured to receive the target plant state signal, a present value of the current plant state signal, and a present performance value, and to provide a prior performance value; and a comparator configured to determine the reinforcement signal based at least in part on the past performance value and the present performance value. The present value of the current plant state signal corresponds to a second time instance and the present performance value configured based at least in part on the target plant state signal and the present value of the current plant state signal, and the prior performance value is selected by the interpolator based at least in part on (i) the present value of the current plant state signal being within a first predetermined threshold from a past value of the current plant state signal, the past value of the current plant state signal corresponding to a first time instance, and (ii) the target plant state signal being within a second predetermined threshold from a past value of the target plant state signal, the past value of the target plant state signal corresponding to the first time instance; and
In second aspect of the invention, a computerized adaptive critic apparatus is described. In one embodiment, the critic apparatus comprises first logic configured to receive a reference signal and a plant state signal, and second logic configured to provide a reinforcement indication being determined based at least in part on (i) a present value of the plant state signal corresponding to a first time instance, and (ii) a present value of the reference signal corresponding to the first time instance.
In one variant, the reinforcement indication is determined based at least in part on a past performance value corresponding to a second time instance, and a present performance value corresponding to the first time instance, the second time instance preceding the first time instance.
In another variant, the critic apparatus comprises an interpolator block configured to receive the reference signal, the plant state signal, and a first performance value, and to provide a second performance value, the first performance value is associated with the first time instance; and the second performance value is based at least in part on a past control performance, associated with a second time instance, the second time instance preceding the first time instance.
In another variant, the first and second logic comprise a computer readable storage medium having at least one computer program stored thereon, the at least one program being configured to, when executed on a processing device: receive a reference signal and a plant state signal, and provide the reinforcement indication.
In yet another variant, the first and second logic are comprised, at least in part, of gate logic of an integrated circuit.
In a third aspect of the invention, an adaptive apparatus is disclosed. In one embodiment, the adaptive apparatus is adapted for use in a computerized controller, the computerized controller configured to optimize control of a functional apparatus, and the adaptive apparatus comprises: first logic configured to receive at a first time a context value, second logic configured to determine a value of a performance signal of the computerized controller corresponding to the first time, the determination based at least in part on the context value, and third logic configured to provide a reinforcement indication adapted to cause modification of at least one control parameter of the computerized controller, the modification configured to minimize an error value associated with the performance signal, the reinforcement indication is determined based at least in part on the value of the performance signal.
In one variant, the context value comprises a context vector, the reinforcement indication is further determined based at least in part on a past value of the performance signal, the past value associated with a second time preceding the first time, and the past value of the performance signal is determined based at least in part on a match between the context vector and a past context vector corresponding to the second time, the past value of the performance signal is determined based at least in part on a value of the performance signal determined at the second time based on the past context vector.
In another variant, the adaptive apparatus comprises a plant block in communication with the functional apparatus, the plant block configured to provide a plant state to the adaptive apparatus, and an actor block in communication with the plant block and the adaptive apparatus the actor block configured to receive the reinforcement indication, configured to cause modification of at least one control parameter associated with control of the functional apparatus so as to effect optimized control of the functional apparatus. The context value comprises a first value of a reference signal, corresponding to the first time and a first value of the plant state corresponding to the first time, and the past context vector comprises a second value of the reference signal, corresponding to a second time and a second value of the plant state, corresponding to the second time.
In yet another variant, the past value of the performance signal is configured based at least in part on (i) the first value of the plant state being within a first predetermined threshold from the second value of the plant, (ii) the first value of the reference signal being within a second predetermined threshold from the second value of the reference signal, (iii) the value of the performance signal, and (iv) a past value of the performance signal determined at the second time based at least in part on the second value of the reference signal and the second value of the plant state.
In a fourth aspect of the invention, method for computerized intelligent control is disclosed. In one embodiment, the method comprises receiving a first context indicator associated with a first time, determining a first performance value based at least in part on the first context indicator, and providing a reinforcement indication, the reinforcement indication being determined based at least in part on the first performance value, the reinforcement indication further configured to enable modification of at least one control parameter associated with control of a functional apparatus.
In one variant, the modification is configured to reduce at least one error measure associated with control of the functional apparatus, relative to control of the functional apparatus in absence of the reinforcement indication, and the first context indicator comprises a reference state signal and a current state signal, the current state associated with control of the functional apparatus.
In another variant, the reinforcement indication is being determined based at least in part on a past performance value provided by an interpolator block, and the first performance value comprises a teaching signal configured to effect supervised learning of the interpolator block, the teaching signal being determined based at least in part on a parameterized function of at least one of the reference signal the current state signal. The parameterized function is characterized by at least one parameter, and the supervised learning is configured to modify the at least one parameter.
In another variant, the supervised learning comprises online learning effected during operation of the functional apparatus, the function is configured to compute a running mean of a plurality of performance values corresponding to a plurality of time instances and the at least one parameter comprises a number of performance values of the plurality of the performance values used in computing the running mean, and each time instance of the plurality of time instances preceding the first time.
In another aspect of the invention, an adaptive critic-controlled system is disclosed. In one embodiment, the system comprises an adaptive critic apparatus such as that referenced supra, and a controlled apparatus (such as e.g., a robotic device).
All Figures disclosed herein are © Copyright 2011 Brain Corporation. All rights reserved.
Exemplary embodiments of the present invention will now be described in detail with reference to the drawings, which are provided as illustrative examples so as to enable those skilled in the art to practice the invention. Notably, the figures and examples provided herein are not meant to limit the scope of the present invention to a single embodiment, but other embodiments are possible by way of interchange of or combination with some or all of the described or illustrated elements. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to same or like parts.
Where certain elements of these embodiments can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the invention.
In the present specification, an embodiment showing a singular component should not be considered limiting; rather, the invention is intended to encompass other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein.
Further, the present invention encompasses present and future known equivalents to the components referred to herein by way of illustration.
As used herein, the terms “computer”, “computing device”, and “computerized device”, include, but are not limited to, personal computers (PCs) and minicomputers, whether desktop, laptop, or otherwise, mainframe computers, workstations, servers, personal digital assistants (PDAs), handheld computers, embedded computers, programmable logic device, personal communicators, tablet computers, portable navigation aids, J2ME equipped devices, cellular telephones, smart phones, personal integrated communication or entertainment devices, or literally any other device capable of executing a set of instructions and processing an incoming data signal.
As used herein, the term “computer program” or “software” is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, C#, Fortran, COBOL, MATLAB™, PASCAL, Python, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (including J2ME, Java Beans, etc.), Binary Runtime Environment (e.g., BREW), and the like.
As used herein, the term “memory” includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM, PROM, EEPROM, DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), and PSRAM.
As used herein, the tetins “integrated circuit”, “chip”, and “IC” are meant to refer to an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material and generally include, without limitation, field programmable gate arrays (e.g., FPGAs), a programmable logic device (PLD), reconfigurable computer fabrics (RCFs), application-specific integrated circuits (ASICs).
As used herein, the terms “microprocessor” and “digital processor” are meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, field programmable gate arrays (e.g., FPGAs), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, and application-specific integrated circuits (ASICs). Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
As used herein, the terms “state” and “plant state” refer, without limitation, to a set of variables used to describe the full or partial dynamic state of the plant.
Apparatus and methods for the adaptive critic design directed at optimizing control rules that are based primarily on the observed present and past control system performance are disclosed. This approach advantageously improves control performance of the control apparatus of the invention, compared to the existing ADC solutions. The improvement is due to, in part, the use of the present performance measure, which is a directly observable quantity, and is used as the training target during the adaptive critic training phase.
In one embodiment, the critic apparatus of the invention advantageously generates a reinforcement signal based on the value of the present control performance quantified by the performance measure observed for the certain context, with an estimate of the past control performance value J for the same context. The input context may comprise a vector composed of the plant state and a target plant state trajectory (the desired plant state).
Thus, unlike in the traditional ACDs, the role of the critic of the present invention is to estimate past system performance rather than the future performance. This configuration advantageously facilitates training of the critic apparatus, as described above.
The present invention provides, in one salient aspect, apparatus and methods for implementing an adaptive-critic for intelligent control of a plant within the adaptive critic framework. The described methods aim at minimizing an instantaneous error between the desired plant state and the actual (observed) plant state. The methods and apparatus of the invention are useful for, but are not limited to, a category of trajectory tracking or set-point control tasks.
In a broader sense, the invention provides methods and apparatus for solving a problem of function approximation: given certain inputs to the system, the exemplary embodiments of the invention generate output signals that predict the target output signals.
Detailed descriptions of the various embodiments and variants of the apparatus and methods of the invention are now provided.
Embodiments of the invention may be for example deployed in a hardware and/or software implementation of a computer-controlled system, provided in one or more of a prosthetic device, robotic device and any other specialized apparatus. In one such implementation, an control system may include a processor embodied in an application specific integrated circuit (ASIC), a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP) or an application specific processor (ASIP) or other general purpose multiprocessor, which can be adapted or configured for use in an embedded application such as controlling a robotic device. However, it will be appreciated that the invention is in no way limited to the foregoing applications and/or implementations.
The present invention provides, in one salient aspect, apparatus and methods for implementing an adaptive-critic apparatus directed at minimizing an instantaneous error between the target state and actual (observed) plant state.
As shown in
Although the critic apparatus 308 receives some inputs that are generally similar to the prior art critic apparatus 108 of the adaptive critic designs system of
As shown in
The control performance of the control apparatus (e.g., the apparatus 100 of
As shown in
In one variant, the target state signal xd(t), the current state signal x(t) and the control signal u(t), together form a context signal c(t) and the performance signal J(t) is expressed as a function of the context signal, as follows:
J(t)=J(c(t)), c(t)=[xd(t) x(t) u(t)]T. (Eqn. 4)
As discussed in further detail below, the interpolator block 320, in accordance with the received context signal c(t), and the current control performance signal J(c(t)), stores information about the present value of J(c(t)), and provides a prior performance estimate Jo(c(t)) to the comparator block 340 via the pathway 324, as shown in
The comparator 340 receives the present performance value J(c(t)) and an estimate of the past performance value Jo(c(t)), and produces the signal R(t) (also referred to as the reinforcement signal), which is a measure of the distance between both input signals. That is:
R(t)=(J(c(t)), Jo(c(t))). (Eqn. 6)
In one variant, the signal R(t) is defined as a weighted difference between J(c(t)) and Jo(c(t)), that is:
R(t)=αJ(c(t))−βJo(c(t)), (Eqn. 7)
where α, β are constants, selected in one variant such that 0≦α<1, 0≦β<1.
The critic apparatus 308 of the embodiment shown in
As shown in
In a more general sense, the interpolator block 320 implements the following mapping:
c(t)→Jo(c(t)) (Eqn. 8)
In one variant, of context of trajectory tracking tasks, at every time instance tn the mapping associates the present instance of the context vector c(tn) (comprising, for example, the instantaneous target state value xd and the current plant state value x taken at the present time tn) with an average tracking error <J(c(tk))>, where the average is calculated over the past instances of the tracking error J(c(tk)) at time instances tk, k=1:K, where tk are selected such that at tk:c(tk)=c(tn), k=1:K. In other words, the past system performance Jo(c(t)) in Eqn. 8. is calculated as the average <J(c(tk))>, where the average is computed over the past values of J(c(tk))) when the present instance of the vector c has been previously observed.
It is appreciated by those skilled in the arts that other statistical functions (e.g., a running mean, a weighted average, a median, etc.) may be used in place of the averaging when computing the mapping of Eqn. 8. It is further appreciated by a skilled practitioner of the arts that averaging time scales (i.e., the number of elements of a running mean) and/or the weighting parameters are determined based on a specific application using any of applicable techniques, such as, for example, least squares fit, minimum mean squared error, median absolute deviation, etc.
In another variant, the past performance measure is computed using an iterative approach. In such implementation, the actual system performance observed in the present trial n is denoted by J(t)n. The expected system performance in the nth trial, denoted by Jo(t)n, is defined an average system performance over the last k trials preceding n. Values of Jo(t)n are computed using the following iterative procedure:
Several approaches are used to implement the mapping of Eqn. 8. In one variant of the invention, when the context consists of a finite number of states, the interpolator is implemented as a look-up table (or a similar method). In this variant, each cell i in the look-up table, corresponds to a different context ci, where i=1, 2, . . . is the common label of the context value and the cell. The table is initiated with some values Joi. For example, initially all cells in the table may take zero values. Whenever a given context ci is visited the table outputs a value Joi stored in the ith cell corresponding to ci and updates the cell based on the observed value of the present performance signal J(t). In one exemplary variant of the invention the cells are updated using the most present values of the performance measure signal J(t) according to the following rule:
if c(t)=ci(t) then Joi=αJoi+βJ(t), (Eqn. 9)
where α,β are constants, selected in one variant such that 0≦α<1, 0≦β<1.
In another variant of the invention, when the context consists of an infinite number of states, the past performance Jo(c(t)) is estimated using function approximation methods, for example, using an artificial neural network model trained according to the online supervised learning algorithm, such as e.g. a delta rule or an error back-propagation algorithm as an approximation block (see e.g. Hertz et al., Introduction to the theory of neural computation. Westview Press, 1991) aiming at minimizing the difference between the present performance signal J(c(t)) and the approximation output Jo(c(t)) (see
Referring now to
Adaptive critic apparatus and methods of the invention advantageously allow for an improved intelligent controller operation due to, inter alia, the use of past values of controller performance that are previously observed for the present values of the controller input (i.e., the context). The use of past (observed) performance in place of the future (i.e., predicted) performance is advantageous as it reduces (or altogether eliminates) controller susceptibility to possible model and prediction errors.
In one embodiment, the adaptive critic is implemented as a software library configured to be executed by a in intelligent control apparatus running various control applications. In another embodiment, the adaptive critic comprises a specialized hardware module (e.g., an embedded processor or controller). In another embodiment the adaptive critic apparatus is implemented in a specialized or general purpose integrated circuit, such as, for example ASIC, FPGA, or PLD). Myriad other implementations exist that will be recognized by those of ordinary skill given the present disclosure.
Advantageously, the present invention can be used to simplify and improve control tasks related to trajectory tracking or set-point control in such tasks as painting or welding using robotic devices, stabilization of inherently unstable control objects, such as a Segway®, etc. Embodiments of the present invention are further applicable to a wide assortment of control applications including industrial control, navigation of autonomous vehicles, robotics. Advantageously, exemplary embodiments of the present invention are useful in a variety of devices including without limitation prosthetic devices (such as artificial limbs), industrial control, autonomous and robotic apparatus, HVAC, and other electromechanical devices requiring accurate stabilization, set-point control or trajectory tracking functionality. Examples of such robotic devises are manufacturing robots (e.g., automotive), military devices, and medical devices (e.g. for surgical robots). Examples of autonomous vehicles include rovers, unmanned air vehicles, underwater vehicles, smart appliances (e.g. ROOMBA), etc. Various other applications exist that will be recognized by those of ordinary skill given the present disclosure.
It will be recognized that while certain aspects of the invention are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the invention, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed embodiments, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the invention disclosed and claimed herein.
While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the invention. The foregoing description is of the best mode presently contemplated of carrying out the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention. The scope of the invention should be determined with reference to the claims.