Implementations of Kalman Filter
From Aerospace to Industry
The Kalman filter has revolutionized the field of control theory and has become prevalent in engineering systems. It has received a great interest from the industrial electronics community and has played a key role in many engineering fields since the 1970s, ranging from trajectory estimation, state and parameter estimation for control or diagnosis, data merging, signal processing, and so on. The development and early applications of the Kalman filter happened during the Cold War between the Eastern Bloc and the North American Treaty Organization. The early success of Soviet in aerospace technology leading to the 1957 launch of the first artificial satellite and manned space launches starting in 1959 assured U.S. government of the need for improving aerospace technology in the United States. The federal government increased funding for research and encouraged aerospace companies to dedicate more of their efforts to advanced research.
In the end of 1958 Rudolf Emil Kalman imagined the idea of remodel in state-space form the optimal estimation methods developed by Norbert Wiener and Andrei N. Kolmogorov since 1940s. At the beginning, the methods had been derived in the frequency domain, using power spectral densities to characterize statistical properties of the random processes involved. Then R.E. Kalman and R.S. Bucy reformulated the problem in the time domain, using a generalized state-space form of a linear differential equation. The equation had been introduced in 1908 by Paul Langevin to model Brownian motion.
Taken as topic of his 1954 master’s thesis at MIT, R.E. Kalman had studied the behavior of linear dynamic systems in discrete time. In 1959 he succesfully reconstructed the linear stochastic dynamic model of the Riccati equation from continuous time to discrete time and derived the optimal linear feedback gain for an estimator. The derivation formula requires only the vector mean and covariance matrix of the underlying probability distribution. Subsequently the optimal gain computed after obtaining the solution to the matrix Riccati equation. The resulting estimator is now called the Kalman filter. Its analogous filter in continuous time is called the Kalman-Bucy filter. Meanwhile, a physicist, named Peter Swerling, had derived a similar formulation of the Kalman filter and applied it to the problem of estimating the trajectories of satellites using ground-based sensors. The main differences between the two formulas lie on the number of assumptions of the involving stochastic process model and numerical stability of the Riccati equation in computer implementations. Kalman’s approach makes fewer assumptions about the underlying stochastic process model than Swerling’s. Furthermore, the resulting formula of Kalman filter for the observational update of the Riccati equation has better numerical stability in computer implementations.
APPLICATION TO THE AEROSPACE PROJECT AND INDUSTRY
S.F. Schmidt’s group of NASA Ames Research Center (ARC) had implemented the Kalman filter in digital computer simulations of the circumlunar navigation problem by early 1961. The problem was about the trajectory estimation and control problem for sending astronauts to the Moon and back. Schmidt realized that the filter could be divided into two separate parts, with one part for time periods between sensor outputs and another part for incorporating measurements. This partitioning of the estimation problem was very beneficial for the Apollo mission since hours could elapse between sensor outputs. After accomplishing several key steps, it proved that the Kalman filter performed as predicted and that it was capable of solving the Apollo guidance and navigation problem on a 36-bit floating-point arithmetic of mainframe computer. The ARC group used Monte Carlo analysis of the problem to validate that estimation uncertainty was modeled with adequate accuracy by the matrix Riccati equation. The matrix Riccati equation from the Kalman filter was immediately accepted as a practical model for predicting the performance of sensor systems, and it shortly became the standard model for designing aerospace sensor systems to fulfill specified performance requirements.
An approach that worked well in most applications of the estimation and control of space trajectories was the use of linearized approximations for small disturbance from nominal trajectories to linearize the guidance and navigation problem. This approach now is called extended Kalman filtering(EKF). As mentioned above, Schmidt’s group early evaluated the effects of nonlinearities in Kalman filter by using Monte Carlo simulations of the true trajectory, which is not exactly known during the actual missions, as well as the estimated trajectory. These research demonstrated that the filter could attain magnificent performance by linearizing the problem about the estimated trajectory. Moreover, the estimated trajectories could be proved to converge to the true trajectories, even with remarkably large initial trajectory estimation errors.
Besides on aerospace field, Kalman filter has been applied to many industrial fields, such as in: sensorless control, diagnosis, and fault-tolerant control of ac drives; distributed generation and storage systems; robotics, vision, and sensor fusion techniques; applications in signal processing and instrumentation; and real-time implementation for industrial control systems.
Studies attaining the simultaneous estimation of stator and rotor resistances for the sensorless control of induction motors(IMs) were reported in . The discovered technique was called “braided” technique. It used two EKF algorithms whose exactly the same configuration and are derived from the same extended model, except for one state, i.e., the stator resistance in one replaced by the rotor resistance in the other. The braided EKF technique utilizes the perseverance of excitation required for parameter convergence in steady state, fulfilled by the system noise (or modeling error), as well as the fast convergence of EKFs. A study to improve this technique was reported in , where a so-called bi-input EKF was proposed. This algorithm comprises a single EKF algorithm using sequentially two inputs based on two extended IM models developed for simultaneous stator and rotor resistances. Such a solution is more suitable for realtime implementation as it only requires less memory and computation time. Because of their ability to perform state estimation of nonlinear systems, EKFs have also found extensive application for the estimation of rotor position and speed in synchronous motor drives. Some examples of achievements on the use of EKF for online estimation of state variables in sensorless interior permanent-magnet synchronous motors (IPMSM) control applications are reported in  and . In , the EKF was used for the permanent-magnet flux identification of an IPMSM. It proved that the convergence and stability problems generally encountered when simultaneously estimating the flux, speed, and stator parameters are avoided this way. In  showed comparation between the ease of implementation and the robustness to parameter uncertainty of an EKF and of an adaptive sliding-mode observer. It is claimed that this latter solution is much simpler for IPMSM drives.
The Kalman filter depends on a system model with uncertainties that are assumed to be Gaussian white centered random variables with known covariance properties. However, the tuning of the covariance matrices is not obvious since this assumption is not generally satisfied. This case is especially sensible for diagnostic problem. Normally, diagnosis leads to parameter estimation and the problem is frequently nonlinear. The linearization approach of the nonlinear system allows applying the conventional linear Kalman filter. Nevertheless, the performance of the EKF decreases when the system includes strong nonlinearities. Therefore, in such cases designers prefer to use unscented Kalman filters (UKFs) for their superiority –. Nowadays, diagnosis is extended to prognostic health monitoring (PHM) to increase the estimation of faulty conditions. PHM has been applied to ac machines for detecting damages as soon as possible. In  showed estimation the evolution of the number of broken bars or the unbalanced stator supply of an induction machine using Kalman filter. The resulting method shows that the Kalman filter prediction of a 40% unbalanced stator supply is close to the real value, as compared to a conventional polynomial approach.
Applications of Kalman filter also includes in power electronics control such as fundamental voltage waveform tracking at the point of common coupling of distributed generators establishing a microgrid system . One application consists in using the filter to cancel the current harmonics injected to the grid in the current control loop of grid-connected inverters . Another significant application is the estimation of the state-of-charge (SoC) of batteries used in energy storage systems . Trying to get accurate information from nonaccurate data, the conventional Kalman filter – can be a nice alternative solution for the online SoC estimation. A method based on EKF has been proposed in three consecutive papers –. This method took nonlinearities of lithium-ion polymer into account by applying to its battery pack.
Research about applications of Kalman filtering technology to robotics and vision specifically to acquire effective information from various sensors have been studied–. Future human–robot interaction will require sensor networks to have abilities of recognition and adaptation to open environment. Moreover, recognition of human motion is also an important topic for future human support. Therefore, sensor fusion techniques based on Kalman filtering are researched considerably , . Recognition, preservation, and reproduction of human motion can be applied widely to many fields, including skill teletraining, skill transfer, and many more.
Many new high-level theoretical research studies of Kalman filtering in signal processing have been regularly published. Some of them discuss on key problem for the estimation of the state of nonlinear dynamic systems, namely the approximation of the first- and second-order statistical moments of a nonlinear transformation of a random variable. Besides, there are many subjects becoming the focus of Kalman filtering recently, such as: identification of time series models (autoregressive, autoregressive–and-moving-average, sum of sinusoids, etc.), moving target localization and tracking, denoising and signal enhancement, deconvolution, wireless sensor networks and distributed estimation, biomedical applications, and so on. Meanwhile, instrumentation has also become the main research area of Kalman filtering. To name few, the use of Kalman filer for sensor fusion, sensor calibration, frequency measurement, ultrasonic time-of-flight estimation, network-based clock synchronization, and Global Positioning Systems.
Many challenging issues exist when one intends to implement Kalman filter to the digital realtime applications. Among of them are the problem (1) to minimize of the effect of the computational roundoff errors on the stability of the filter, when computing the covariance matrices;(2) to reduce the computational load of the filter; and (3) to minimize the execution time of the filter. One way to solve the first problem is to use factorization methods, known as Cholesky or modified Cholesky factor decomposition. These methods are also called square-root filtering. Several decompositions, which differ in the way the factorization are attained, have been proposed. Taking into account the additional cost in terms of computational load,  resulted the significant gain in terms of robustness of the filter.
Researchers have certainly tried to overcome the second problem. These efforts include taking benefits of the specificities of the matrices involved in the algorithm (symmetries, sparsity). For example, applied to estimate the speed and flux vector components of an IM,  showed a cost reduction of 2.7 compared with the standard solution for a fifth-order EKF. Recently  has proposed a similar approach for a fourth-order KF used to estimate mechanical quantities of a synchronous motor. The implementation was obtained in a field-programmable gate array (FPGA). Somehow, there is a direct consequence of these searches or specificities in the matrices involved in the filtering process, namely an increase in the development time.
Related to the third problem, designers have no other options than parallelizing the tasks that can be executed simultaneously in order to drastically decrease the execution time of such complex estimators. In line with the issue, since the past two decades, some authors proposed systolic array implementations of the Kalman filter , . Although the proposed systolic arrays were potentially powerful (with high computing density), only a few implementations were actually achieved. This was because they belonged to expensive solutions. Furthermore, it was found that they were poorly flexible and inconvenient to reuse in the others applications. Fortunately, designers are possible to take the advantages of the recent, very powerful, and low-cost FPGA-based system-on-chip platforms to implement complicated Kalman filter algorithms. Nowadays, it has been possible to find on the market a component that includes a dual hardware core ARM9 processor along with a dense FPGA fabric. The challengging issue is to obtain optimized partitioning between the tasks to implement in software and those to implement in hardware.
As the basis for modern estimation and control theory, the Kalman filter was early implemented in the aerospace industry. It gave not only theoretically optimal solution but also practical and reliable solution method for LQG problems. Some issues that were most troublesome early aerospace applications of Kalman filtering included computer size, weight, and power requirements; numerical stability; computational load; and computer costs. Fortunately, the latter developments in hardware and implementation methods have coped with most of those problems, and evolving improvements are even now broaden the range of applications to which Kalman filtering can be applied effectively.
Recently, the integration of Kalman filter or its variants (e.g., UKFs) into industrial systems is not very extensive due to its complexity of the algorithm and its highly computational load requirement. However, along with the availability of new low-cost and highly sophisticated processors (such as floating-point DSPs targeted at real-time process control applications and system-on-chips), the Kalman filter is still likely to spread more and more and has a shining future ahead.
 M. Grewal and A. Andrews, “Applications of Kalman filtering in aerospace 1960 to the present,” IEEE Control Syst. Mag., vol. 30, no. 3, pp. 69–78, Jun. 2010.
 F. Auger, M. Hilairet, J. M. Guerrero, E. Monmasson, T. Orlowska-Kowalska and S. Katsura, "Industrial Applications of the Kalman Filter: A Review," in IEEE Transactions on Industrial Electronics, vol. 60, no. 12, pp. 5458-5471, Dec. 2013.
 M. Barut, S. Bogosyan, and M. Gokasan, “Speed-sensorless estimation of induction motors using extended Kalman filters,” IEEE Trans. Ind. Electron., vol. 54, no. 1, pp. 272–280, Feb. 2007.
 M. Barut, R. Demir, E. Zerdali, and R. Inan, “Real-time implementation of bi input-extended Kalman filter-based estimator for speed-sensorless control of induction motors,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4197–4206, Nov. 2012.
 X. Xi, Z. Meng, L. Yongdong, and L. Min, “On-line estimation of permanent magnet flux linkage ripple for PMSM based on a Kalman filter,” in Conf. Rec. IEEE IECON, 2006, pp. 1171–1175.
 Y. Shi, K. Sun, L. Huang, and Y. Li, “Online identification of permanent magnet flux based on extended Kalman filter for IPMSM drive with position sensorless control,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4169–4178, Nov. 2012.
 D. Simon, Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches. Hoboken, NJ: Wiley, 2006.
 S. Julier, J. Uhlman, and H. Durrant-Whyte, “A new approach for filtering nonlinear systems,” in Proc. IEEE ACC, Jun. 1995, vol. 3, pp. 1628–1632.
 B. Akin, U. Orguner, and A. Ersak, “State estimation of induction motor using unscented Kalman filter,” in Proc. IEEE CCA, Jun. 2003, vol. 2, pp. 915–919.
 N. Tudoroiu, M. Zaheeruddin, V. Cretu, and E. Tudoroiu, “IMM-UKF versus frequency analysis,” IEEE Ind. Electron. Mag., vol. 4, no. 3, pp. 7–18, Sep. 2010.
 S. Jafarzadeh, C. Lascu, and M. Fadali, “State estimation of induction motor drives using the unscented Kalman filter,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4207–4216, Nov. 2012.
 O. Ondel, E. Boutleux, E. Blanco, and G. Clerc, “Coupling pattern recognition with state estimation using Kalman filter for fault diagnosis,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4293–4300, Nov. 2012.
 K. D. Brabandere, T. Loix, K. Engelen, B. Bolsen, J. V. Keybus, J. Driesen, and R. Belmansa, “Design and operation of a phase-locked loop with Kalman estimator-based filter for single-phase applications,” in Proc. IEEE IECON, Paris, France, Nov. 2006, pp. 525–530.
 H. Beltran, J. Zabalza, C. A. No, E. Belenguer, E. Perez, and N. Aparicio, “Improved Kalman filter based inverter control for reduction of low order current harmonics due to isolation transformers in renewable energy sources,” in Proc. ICREPQ, 2009, pp. 1–6.
 S. Santhanagopalana and R. E. White, “Online estimation of the state of charge of a lithium ion cell,” J. Power Sources, vol. 161, no. 2, pp. 1346–1355, Oct. 2006.
 B. Bhangua, P. Bentley, D. A. Stone, and C. M. Bingham, “Nonlinear observers for predicting state-of-charge and state-of-health of leadacid batteries for hybrid-electric vehicles,” IEEE Trans. Veh. Technol., vol. 54, no. 3, pp. 783–794, May 2005.
 G. Plett, “Extended Kalman filtering for battery management systems of LiPb-based HEV battery packs: Part 1. Background,” J. Power Sources, vol. 134, no. 2, pp. 252–261, Aug. 2004.
 G. Plett, “Extended Kalman filtering for battery management systems of LiPb-based HEV battery packs: Part 2. Modeling and identification,” J. Power Sources, vol. 134, no. 2, pp. 262–276, Aug. 2004.
 G. Plett, “Extended Kalman filtering for battery management systems of LiPb-based HEV battery packs: Part 3. State and parameter estimation,” J. Power Sources, vol. 134, no. 2, pp. 277–292, Aug. 2004.
 J. Kim and B. Cho, “State-of-charge estimation and state-of-health prediction of a Li-Ion degraded battery based on an EKF combined with a per-unit system,” IEEE Trans. Veh. Technol., vol. 60, no. 9, pp. 4249–4260, Nov. 2011.
 D. Di Domenico, Y. Creff, E. Prada, P. Duchêne, J. Bernard, and V. Sauvant-Moynot, “A review of approaches for the design of Li-ion BMS estimation functions,” in Proc. RHEVE Int. Sci. Conf. Hybrid Elect. Veh., Dec. 2011, pp. 1–8.
 Y. Shmaliy, “An iterative Kalman-like algorithm ignoring noise and initial conditions,” IEEE Trans. Signal Process., vol. 59, no. 6, pp. 2465–2473, Jun. 2011.
 M. Dissanayake, P. Newman, S. Clark, H. Durrent-Whyte, and M. Csorba, “A solution to the simultaneous localization and map building,” IEEE Trans. Robot. Autom., vol. 17, no. 3, pp. 229–241, Jun. 2001.
 J. Lee, M. L. K. Son, J. Choi, S. Han, and M. Lee, “Localization of a mobile robot using the image of a moving object,” IEEE Trans. Ind.Electron., vol. 50, no. 3, pp. 612–619, Jun. 2003.
 M. Chueh, Y. A. Yeung, K. Lei, and S. Joshi, “Following controller for autonomous mobile robots using behavioral cues,” IEEE Trans. Ind.Electron., vol. 55, no. 8, pp. 3124–3132, Aug. 2008.
 L. Menegaldo, G. Ferreira, M. Santos, and R. Guerato, “Development and navigation of a mobile robot for floating production storage and offloading ship hull inspection,” IEEE Trans. Ind. Electron., vol. 56, no. 9, pp. 3717–3722, Sep. 2009.
 H. Cho and S. Kim, “Mobile robot localization using biased chirpspread-spectrum ranging,” IEEE Trans. Ind. Electron., vol. 57, no. 8, pp. 2826–2835, Aug. 2010.
 Y. Motai and A. Kosaka, “Hand-eye calibration applied to viewpoint selection for robotic vision,” IEEE Trans. Ind. Electron., vol. 55, no. 10, pp. 3731–3741, Oct. 2008.
 S. Won, F. Golnaraghi, and W. Melek, “A fastening tool tracking system using an IMU and a position sensor with Kalman filters and a fuzzy expert system,” IEEE Trans. Ind. Electron., vol. 56, no. 5, pp. 1782–1792, May 2009.
 C. Mitsantisuk, S. Katsura, and K. Ohishi, “Kalman-filter-based sensor integration of variable power assist control based on human stiffness estimation,” IEEE Trans. Ind. Electron., vol. 56, no. 10, pp. 3897–3905,Oct. 2009.
 C. Mitsantisuk, K. Ohishi, and S. Katsura, “Estimation of action/reaction forces for the bilateral control using Kalman filter,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4383–4393, Nov. 2012.
 M. Grewal and A. Andrews, Kalman Theory, Theory and Practice Using MATLAB, 3rd ed. Hoboken, NJ: Wiley, 2008.
 M. Verhaegen and P. V. Dooren, “Numerical aspects of different Kalman filter implementations,” IEEE Trans. Autom. Control, vol. AC-31, no. 10, pp. 907–917, Oct. 1986.
 M. Hilairet, F. Auger, and C. Darengosse, “Two efficient Kalman filters for flux and velocity estimation of induction motors,” in Proc. IEEE Power Electron. Spec. Conf., Jun. 2000, vol. 2, pp. 891–896.
 L. Idkhajine and E. Monmasson, “Design methodology for complex FPGA-based controllers-Application to an EKF sensorless ac drive,” in Proc. XIX ICEM, Sep. 2010, pp. 1–6.
 H.-G. Yeh, “Systolic implementation on Kalman filters,” IEEE Trans. Acoust., Speech, Signal Process., vol. 36, no. 9, pp. 1514–1517, Sep. 1988.
 S.-Y. Kung and J.-N. Hwang, “Systolic array designs for Kalman filtering,” IEEE Trans. Signal Process., vol. 39, no. 1, pp. 171–182, Jan. 1991.