Return to Video

cs373_hw2_05_s_programming-exercise

  • 0:00 - 0:03
    Así que está es mi solución para el ejercicio de programación,
  • 0:03 - 0:06
    Y hay muchas maneras de estructurar esto, pero es así como lo he hecho.
  • 0:06 - 0:09
    Tengo un dt igual a 0.1.
  • 0:09 - 0:13
    Puse en mi vector de estado inicial las coordenadas iniciales x e y,
  • 0:13 - 0:17
    y para las dos velocidades las puse las dos a 0.
  • 0:17 - 0:21
    Mi vector u, como he dicho en el enunciado del problema, es cero en todas partes,
  • 0:21 - 0:23
    así que simplemente ignoralo.
  • 0:23 - 0:28
    Interesante es mi matriz P de la incertidumbre de las mediciones.
  • 0:28 - 0:31
    Y puse la incertidumbre inicial para las ubicaciones a cero.
  • 0:31 - 0:33
    Son los dos elementos de la diagonal principal de aquí,
  • 0:33 - 0:37
    y la incertidumbre de la velocidad va a ser muy alta - es 1000.
  • 0:37 - 0:39
    Así que esta es mi matriz de incertidumbre inicial.
  • 0:39 - 0:43
    Esto garantiza que realmente pueda estimar la velocidad basada en los datos,
  • 0:43 - 0:46
    y creo que las estimaciones iniciales del estado son correctas.
  • 0:46 - 0:50
    Nuestra matriz F es una generalización para 4 dimensiones de la matriz F que teníamos antes
  • 0:50 - 0:53
    donde tenemos 1 a lo largo de la diagonal principal.
  • 0:53 - 0:58
    Ésto dice que la posición se mantiene a la expectativa y la velocidad se conserva,
  • 0:58 - 1:01
    y tenemos dos dt por aquí.
  • 1:01 - 1:04
    Dot x, que es mi tercer estado del vector influye
  • 1:04 - 1:08
    en la x por un factor dt para cada marca de tiempo.
  • 1:08 - 1:10
    Lo mismo para dot y.
  • 1:10 - 1:15
    Así que estos son los lugares donde nuestras velocidades afectan nuestra estimación de la posición.
  • 1:15 - 1:21
    Y luego, si me desplazo hacia abajo, la matriz H es una matriz de proyección de 4x2
  • 1:21 - 1:26
    donde proyecto la dimensión x y la dimensión y sin ningún tipo de velocidad.
  • 1:26 - 1:29
    Por la incertidumbre de medición asumo
  • 1:29 - 1:33
    que cada medición tiene una covarianza de incertidumbre de 0.1,
  • 1:33 - 1:38
    y estos son a lo largo de la diagonal principal de esta matriz 2x2 de incertidumbre de medición del ruido.
  • 1:38 - 1:43
    Obviamente, esto es una matriz de identidad de 4 dimensiones como se ve aquí.
  • 1:43 - 1:49
    Así que si ejecuto mi primer ejemplo donde las mediciones son 5, 6, 7, 8, 9, y 10,
  • 1:49 - 1:54
    y la segunda dimensión 10, 8, 6, 4 y 2 y no lo puedes ver, pero es 0 por aquí.
  • 1:54 - 2:03
    En mi salida, obtengo correctamente la estimación de 10 para mi x y 0 para mi y.
  • 2:03 - 2:06
    Y la velocidad es de 10 y -20.
  • 2:06 - 2:10
    Y como teníamos antes, debido a que dt es igual a 0.1,
  • 2:10 - 2:13
    un paso de 5 a 6 dentro de un décimo de la unidad de tiempo
  • 2:13 - 2:17
    requiere una velocidad de 10 y desde 10 a 8 una de -20.
  • 2:17 - 2:19
    Estos números son correctos.
  • 2:19 - 2:21
    Pero también podemos observar la matriz de covarianza.
  • 2:21 - 2:26
    Y es difícil leer nada de lo que estamos bastante seguros como es nuestra ubicación,
  • 2:26 - 2:29
    y tenemos una estimación bastante buena de nuestras velocidades.
  • 2:29 - 2:32
    Nuestra covarianza de la incertidumbre de velocidad es 0.1, y esto esta por debajo de 1000,
  • 2:32 - 2:36
    que era el valor inicial en estas incertidumbres.
  • 2:36 - 2:39
    Yendo al segundo ejemplo, ahora comentando
  • 2:39 - 2:42
    el primer ejemplo y ponemos en marcha el segundo ejemplo.
  • 2:42 - 2:48
    Si lo ejecutas de nuevo, podemos ver que la primera dimensión va de -4, 1, 6, 11, 16.
  • 2:48 - 2:51
    La segunda dimensión de 8, 4, 0, -4, -8.
  • 2:51 - 2:55
    Estos son exactamente los mismos valores de aquí, 16 y -8.
  • 2:55 - 3:00
    Para las velocidades tengo 50 y -40, que son exactamente las velocidades correctas.
  • 3:00 - 3:05
    Finalmente, para nuestro tercer ejemplo, donde la primera coordenada no cambia en absoluto,
  • 3:05 - 3:09
    obtengo correctamente el 1 de aquí y la velocidad a 0.
  • 3:09 - 3:12
    La segunda coordenada va de 19, 17 todo el camino hasta 11.
  • 3:12 - 3:15
    Tenemos 11 aquí y la velocidad de -20.
  • 3:15 - 3:18
    Así que esta es la aplicación que quería que hiciera.
  • 3:18 - 3:22
    Si has implementado esto de aquí, lo tienes bien
  • 3:22 - 3:27
    y felicidades, ha implementado un filtro de Kalman bastante no trivial en etapas,
  • 3:27 - 3:30
    pero a través de esta clase, ahora tenemos el código que le permite
  • 3:30 - 3:33
    ejecutar filtros de Kalman en problemas complicados,
  • 3:33 - 3:36
    y espero que usted realmente haya comprendido cómo funciona el filtro de Kalman.
Title:
cs373_hw2_05_s_programming-exercise
Description:

dummy description

more » « less
Video Language:
English
Team:
Udacity
Project:
CS373 - Artificial Intelligence
Duration:
03:36
almartinflorido added a translation

Spanish subtitles

Revisions