State Switching Kalman Filter (SSKF)
Visual tracking has always been an interesting field. There are many filtering algorithms depending on the the process model and the measurement model of the object being tracked. Kalman filter is the most popular filter used to track objects which have a linear motion. Extended Kalman filter(EKF) and Particle filter are used to track objects that have a non-linear trajectory. Two years back at the Mechatronics lab in Clemson University we faced a unique problem. Dr Hoover had designed a workcell with a puma robot and visual sensing for the robot was provided using a 6 camera network. The idea behind the workcell was to develop a robotic arm which would adapt to changes in its environment.
Industrial manipulator nowadays are very efficient and precise but they are blind. When a robotic arm inserts a chip into a board, it assumes that the board would be at the specified position at the specified time. Any change in the environment would be disastrous. The workcell was designed so as to come up with a system that would react to changes like humans do. The first task was to track and grasp a foam ball moving in a random manner over an air conveyor. The air conveyor surrounded the staubli robot and 4 fans at its corners caused the random motion. The average speed of the ball was close to 100cm/sec. An occupancy map of the worspace was developed by fusing the 6 images from the cameras and by background subtraction raw measurements of the ball's position were fed to the kalman filter which filtered the noisy measurements and gave an estimate to the robot which extrapolated and picked up the ball. Everything worked well except the Kalman filter being a linear filter would take a long time to latch back on after the ball has bounced off a wall. Here a bounce event is a temporary non linear event and using an EKF dosent help matters much. Particle filters are computationally expensive so we decided to design a filter that would be robust and would be based on the kalman filter.
We decided to use the correlation coefficient of the measurements to detect a bounce event and used least squares approach using the most recent measurements to latch the filter back to the true state a lot faster than a normal kalman filter(KF). We experimented on this filter using different bounce models, measurement noise and different values of forgetting factor (forgetting factor in the kalman filter is the amount of belief in the measurements - more noisy measurement means KF will have lesser belief and vice versa). We found out that the SSKF performs better when the measurements are noisy and forgetting factor tuning is not necessary unlike the KF.
This algorithm is simple and at the same time very effective. Hawkeye Technologies which tracks the cricket ball to give the television viewers the projected trajectory of the ball for analyzing LBW decisions would find this useful.
1 Comments:
Sunil,
Pardon my ignorance and knowledge of filtering techniques. But how does a Filter (Kalman, EKF, SSKF) differ from a standard observer?
I believe KF is a type of an observer, but what led to its development and what advantages does it offer?
Post a Comment
<< Home