Trilateración
Este método es muy parecido a triangulación solo que en triangulación se utiliza el angulo además de la distancia de una fuentes, en la trilateración se utilizan dos o mas coordenadas conocidas de objetos y sus distancias con respecto al objeto, entre mas fuentes de referencia se tengan mas exacto resulta el método.
[imagen obtenida de: "http://platea.pntic.mec.es/~rrodrigu/docs/localizacion_torretas_trilateracion.JPG"]
El algoritmo usa geometría de triángulos y se basa en el hecho de que si sabemos la distancia de 3 fuentes y sus posiciones exactas, entonces es posible estimar la posición del receptor calculando el punto para el cual si se dibujara un circulo en el centro de cada fuente, con radio igual a su distancia del receptor, el punto en el que los bordes de los círculos se cruzan.
Visto de otra forma para fuente de referencia que se encuentra a distancia $r_{n}$ y que tiene coordenadas en $(x_{n}, y_{n})$ se puede encontrar la posición del receptor generando las ecuaciones del circulo para cada transmisor de la siguiente forma:
Para las cordenadas de cada transmisor, donde $r$ es la distancia del transmisor al receptor:
$\left \{ \left \{ r_{1}, x_{1}, y_{1} \right \}, \left \{ r_{2}, x_{2}, y_{2} \right \}, \left \{ r_{3}, x_{3}, y_{3} \right \}, ..., \left \{ r_{n}, x_{n}, y_{n} \right \} \right \}$
Se generan las ecuaciones:
$r_{1}^{2} = (x - x_{1})^2 +(y - y_{1}^2) $
$r_{2}^{2} = (x - x_{2})^2 +(y - y_{2}^2) $
$r_{3}^{2} = (x - x_{3})^2 +(y - y_{3}^2) $
$...$
Se puede encontrar las coordenadas del receptor resolviendo los valore $x$ y $y$ que hacen
que se cumplan todas las ecuaciones generadas.
Aplicaciones
Entra las aplicaciones más comunes de la trilateración están:
- El uso más común es para calcular la posición de un dispositivo en el sistema GPS.
- Calcular la posición en la que cae un rayo, calculando la distancia hacia cada punto de referencia usando el tiempo de las transmisiones de radiofrecuencia del rayo.
Implementación
Para mi Implementación utilice un algoritmo que en lugar de definir el radio exacto para cada transmisor se define un radio máximo para cada transmisor. Cada transmisor se representan con antenas la simulación utiliza recorre el circulo imaginario con un algoritmo para dibujar círculos.
Se recorre el circulo para encontrar la coordenada en la que el la distancia de ese punto al centro de los demás transmisores concuerda con el radio de cada uno, así es posible detectar la posición.
Áreas aproximadas
Dada la forma en la que es implementada la simulación no es completamente necesario utilizar la distancia de el objeto a cada transmisor, si no que se puede dar como entrada el alcance máximo del transmisor y con esto en caso de no encontrase de manera exacta, se puede aproximar las áreas donde es mas probable que este el dispositivo, se encuentre en las áreas en las que se sobreponen mayor cantidad de círculos, que sería el área mas oscura en la animación.
Código
Resultado
La simulación fue escrita en javascript, utilizando el canvas de HTML5, se hizo en este lenguaje por que es fácil de publicar y correr.
Por ultimo aquí dejo la liga hacia la simulación:
https://dl.dropboxusercontent.com/u/20770926/tarea6/trilateracion.html
Referencias:
- Es.wikipedia.org (2013) Trilateración - Wikipedia, la enciclopedia libre. [online] Available at: http://es.wikipedia.org/wiki/Trilateraci%C3%B3n [Accessed: 14 May 2013]
- Mathwarehouse.com (n.d.) Equation of a circle in standard form. How to express a circle with given radius in standard form.... [online] Available at: http://www.mathwarehouse.com/geometry/circle/equation-of-a-circle.php [Accessed: 14 May 2013].

Yo hubiera esperado que los círculos dejen de crecer cuando los tres tocan... 9 pts.
ResponderBorrar