The primary objective of the project was to explore a specific use of the Kalman filter, namely for situations where observations are acquired from multiple sensors that are not necessarily sampled simultaneously or with fixed sampling periods. Moreover, the observations may reflect the state of the system with a significant time-delay rather than at the sampling instants.
An Autonomous Guided Vehicle (AGV) was used as a platform for testing various Kalman filter techniques, and a great portion of the project was devoted to modelling of the vehicle, sensor analysis, control design, and simulations. The project was divided into 7 stages. The results from each stage is summarized below.
The photograph above shows IAU's autonomous
guided vehicle, which was used as a test bed for theories developed in
the project. The AGV is an 80kg electrical vehicle with a top speed of
approximately 0.8 m/s and on-board computer and image processing equipment.
It is now supplied with the following sensors: video camera, ultra sound,
laser range finder, and wheel encoders. The AGV is an interesting application
as it has many sensors with different characteristics.
Stage 1: Sensor analysisThe sensor analysis is a very important element in the Kalman filter design. The purpose is
1) To find out how the observations relate to the state of the system.
2) A quantification of the measurement uncertainty.
In the analysis we focused on the camera
applied to detection of artificial guide marks.
report about sensor analysis (postscript)
Software for (improved) guide mark detection (C code) is available upon request from Ole Ravn, Department of Automation.
Matlab code for camera calibration are available upon request from Nils A. Andersen, Department of Automation.
Stage 2: ModellingIn this stage, detailed models of the AGV were derived, including the vehicle dynamics and kinematic transformations. Different models were made for simulation, control system design, and for Kalman filter design.
|Technical report about modelling of the AGV (postscript).|
Stage 3: Methods for event-based Kalman filteringThis was the central part of the project and, thus, much of the effort was placed here. As it turned out, the considered application of joint state and parameter estimation for an AGV equipped with wheel encoders and a camera for guide mark detection, was quite challenging. The conventional approach, the extended Kalman filter, was not easily applied as it required linearizations that were quite complex to derive. To overcome this, Kalman filters for state estimation for nonlinear systems that do not require derivatives were derived.
The two new filters are called the DD1 filter (first order filter) and the DD2 filter (a second order filter). The filters are simpler to implement and use than the EKF and its high-order relatives, and at the same time they provide an excellent accuracy. In particular the DD2 filter is highly recommended as a replacement of the conventional techniques.
|A brief introduction to the new
filters is given in: M. Nørgaard, N.K. Poulsen, O. Ravn: Easy
and Accurate State Estimation for Nonlinear Systems. 14th IFAC World
Congress, Beijing, China, July 5-9, 1999, Vol. J, pp. 343-348.
(not available electronically)
A more thorough description is given in
the forthcoming Automatica paper:
Stage 4: Control designThis included a design of position and velocity controllers for the AGV. Both controllers are based on state space design, where the states (wheel positions and velocities) are estimated by a Kalman filter. A special "event-based" solution was required to handle controller transitions as in this case "jumps" in the sampling occur.
|A technical report describing the
control design (postscript)
Stage 5: Joint identification and state estimationThis is essentially covered by stages 3, 6, 7.
It should be mentioned that the developed filters are particularly appropriate for the joint estimation problem. As it is not necessary to calculate derivatives, all one has to do to estimate model parameters is to augment the state vector with the parameters and to modify the process noise covariance matrix accordingly.
|Two simple examples of simultaneous state and parameter estimation can be found in the KALMTOOL toolbox mentioned above.|
Stage 6: Simulation studiesIn this stage an advanced AGV simulator was implemented in MATLAB/SIMULINK. The simulator has been used for various simulation studies of Kalman filter techniques (and many other things).
|The simulator and a document describing
it are available. They are not quite complete - and probably won't
be anytime soon. The idea is that they should develop over time along with
the constant redesign of the vehicle.
Stage 7: Experimental verificationVarious experiments were conducted with the AGV. One often-considered application was estimation of vehicle pose (position and orientation) along with various model parameters. In particular wheel radius and distance between the driving wheels.
|Publications describing Kalman
filters applied to the vehicle are f. ex.
This project was a collaboration between the Department
of Automation (IAU) and the Department
of Mathematical Modeling (IMM) , Technical
University of Denmark (DTU).