Blog de robótica e inteligencia artificial

7/12/2016

In memoriam: Rudolf Kalman

El pasado 2 de julio falleció Rudolf Kalman, uno de los científicos cuyos resultados nos afectan directamente en la vida cotidiana. Es una fortuna que los científicos disfruten del prestigio durante su vida.

La mayor contribución de este matemático, ingeniero e inventor húngaro formado en Estados Unidos, es el celebérrimo filtro que lleva su nombre, y que se incorporó en el programa Apollo de la NASA en 1960. ¿De qué sirve este filtro?  No voy a explicarlo con un cohete, sino con un dispositivo mucho más sencillo:

Pensemos que un sensor nos arroja cada intervalo de tiempo una medida de la posición de la máquina, y que se iría llenando el siguiente vector de posiciones:

x = [0  0.1  0.22  0.31  0.42  0.50...];

¿Son estas posiciones las absolutas y las totalmente fiables? NUNCA. Por muy bueno y caro que sea un sensor, nunca será perfecto, y siempre su medida va a tener una incertidumbre. La medida que arroje un sensor en cada instante puede representarse mediante una campana de Gauss. Lo más probable es que la medida del sensor sea en el punto más alto, pero podría darse que estuviera en otro punto.

Y si imaginamos además que hay un sensor que mide la aceleración en los mismos intervalos de tiempo de mi máquina, tampoco puedo considerar que esas aceleraciones sean exactas. Ocurre exactamente lo mismo que con la posición. 

Vaya, ¡qué faena! Resulta que ni la posición ni la aceleración en cada instante de tiempo es fiable. Por lo tanto, en ningún momento parece que pueda asegurar dónde está mi máquina. ¿Llegamos a la Luna de chiripa o qué? 

El filtro de Kalman viene a resolver esas incertidumbres en las medidas de los sensores y fusiona los datos en sencillos pasos los datos hasta tener la posición real de mi máquina. Posiblemente, tras el filtrado de Kalman, la posición de mi aparato no sea el que he puesto en el vector x, sino:

x1= [0  0.11  0.23  0.30   0.40  0.48], por decir algo.

Programar el filtro de Kalman en Matlab o Excel es sencillísimo, tal y como se puede encontrar en numerosas webs, como ésta. Como os podéis imaginar, el filtro de Kalman está muy de moda ahora entre ingenieros que se dedican a la robótica móvil, pero es que esta herramienta se emplea en cualquier serie de datos temporales para predecir con más exactitud.

Hay una variable si el sistema a modelar es no-lineal, que es el filtro de Kalman Extendido, pero de ese no vamos a hablar ahora.

Puede que os interese saber que en todos los partidos de fútbol se emplea el filtro de Kalman para las cámaras del estadio y el seguimiento de objetos móviles. 

A pesar de todo lo dicho, Rudolf Kalman no fue el único que llegó a desarrollar su algoritmo. Tal y como indica la Wikipedia, esto fue una co-invención. Rudolf Kalman no fue el único que pensó sobre este problema, y entre otros estuvieron Gauss, Kolmogorov, Legendre... pero sobre todo, la co-autoría se puede atribuir también a Peter Swerling, quién llegó a una expresión parecida poco antes de manera independiente.


Comparte:

0 comentarios:

Publicar un comentario

Sígueme en redes:

descripción descripción descripción

En mi mesilla

Blog Archive