| BAT - Baliza de Adquisición Tridimensional |
Se presentan los aspectos principales del desarrollo y construcción del BAT, un dispositivo de hardware conectable a un PC, capaz de determinar las coordenadas espaciales de un puntero dentro de una habitación. Para ello el sistema emplea técnicas de correlación aplicadas a señales ultrasónicas enviadas desde distintos focos emisores. El desarrollo incluye el software asociado al dispositivo y una interfaz gráfica de usuario adecuada.
SECCIONES |
Puntero del BAT |
Para la detección de la posición del puntero, se colocan focos en diferentes posiciones del ambiente. Calculando las distancias entre el puntero y cada foco, y triangulando el sistema es capaz de determinar la posición espacial del puntero.
Usando coordenadas euclidianas (x,y,z) para representar el espacio, y colocando 3 focos en las posiciones P1(x1,y1,z1), P2(x2,y2,z2) y P3(x3,y3,z3), obtendremos el vector (d1,d2,d3) donde d1, d2 y d3 son las distancias entre el puntero y cada foco. Al aplicar las ecuaciones de distancia en un espacio tridimensional se obtienen tres ecuaciones independientes. Las incógnitas del sistema son (xp,yp,zp), las coordenadas cartesianas del puntero. Resolviendo el sistema se obtienen dos soluciones simétricas respecto al plano formado por los tres focos, una de las cuales será la solución buscada. El BAT utiliza un cuarto emisor como forma de robustecer al sistema frente a la pérdida de calidad de alguna de las señales.
Como método de medida de distancias, el sistema se basa
en el envío de secuencias pseudo aleatorias desde focos emisores de ultrasonido colocados
en posiciones fijas, y el censado de las señales acústicas por un transductor ubicado en
el puntero móvil. Estudiando la correlación entre la secuencia enviada y la recibida, se
puede calcular el tiempo de propagación de la señal ultrasónica entre el emisor y el
puntero, y por ende obtener la distancia buscada.
Medida de una distancia
Para señales discretas acotadas en el tiempo, la correlación está dada por la ecuación
Para obtener la distancia entre un foco emisor y el puntero, se compara la autocorrelación de las señal por él emitida, con la correlación cruzada entre ella y las señal recibida.
Si se consideran dos secuencias reales discretas de largo infinito x1 y x2, tal que x2(n)=x1(n-N), es decir, son iguales a menos de un retardo, la correlación cruzada entre ellas cumple:
Es decir que la correlación cruzada de las secuencias x1 (p. ej. la enviada) y x2 (p. ej. la recibida), es igual a la autocorrelación de x1, pero retrasada el mismo valor N. De esta manera, si las secuencias pseudo aleatorias son parecidas a ruido blanco, tendremos dos correlaciones con picos muy pronunciados (deltas) y fácilmente detectables; por lo que resulta sencillo determinar el valor de N, o sea el retardo que la secuencia experimentó entre ser emitida y ser recibida, y por lo tanto (suponiendo conocida la velocidad del sonido) calcular la distancia foco emisor - puntero. Resumiendo, para medir una distancia el sistema emite una secuencia ultrasónica y muestrea la señal recibida. Se calcula luego la correlación entre ellas y la posición del máximo de correlación (que corresponde con la delta retrasada) determina la distancia medida.
A continuación se incluye la autocorrelación típica de una secuencia en banda base de 512 muestras de longitud:
El planteo anterior presenta el caso ideal en el que el retardo entre emisión y recepción está dado sólo por la propagación de las ondas acústicas hasta el puntero, las conversiones AD y DA no alteran las señales en absoluto, no existe ruido aditivo y se dispone de ancho de banda infinito en los transductores.
En la práctica estos aspectos no resultan ideales, y por ende afectan el desempeño del método en diferente medida. A continuación enumeramos los factores que determinan la calidad del pico de correlación obtenido:
Ruido: Las técnicas de correlación tienden a reducir el efecto del ruido en general. Constatamos que se puede aplicar ruidos aleatorios de igual potencia que la señal y de todas formas el pico de correlación es claro y detectable
Largo de la secuencia: Cuanta más larga es la secuencia más información se dispone y mejor es el pico de correlación. Por otro lado cuanto más larga es la secuencia más demora el cálculo de correlación. Se optó trabajar con secuencias de largo 256.
Calidad de la secuencia: Diferentes secuencias se comportan diferente en cuanto a correlación se refiere. El objetivo en la búsqueda de secuencias es lograr un pico de correlación bien detectable ante situaciones límite Más adelante se muestra un método evolutivo que permite maximizar la relación máximo principal - máximo secundario de la autocorrelación de una secuencia.
Ancho de banda: La no idealidad de los transductores lleva a que la señal recibida sea diferente a la enviada (principalmente por el filtro que modela un transductor de ultrasonido). Esto hace que la correlación cruzada no se parezca a una delta. Cuanto menor ancho de banda se disponga, peor será la calidad del pico. Simulaciones realizadas indicaron que para secuencias de 256 muestras se necesita un ancho de banda mínimo de 6 Khz para obtener un pico detectable.
Medida de las cuatro distancias
Hasta el momento se describió un método para el cálculo de distancias entre un emisor y un puntero. En este literal se muestran dos métodos posibles para realizar el cálculo para múltiples emisores, de los cuales se optó por el primero. Cabe aclarar que hay dos factores que limitan la cantidad de medidas de distancia por unidad de tiempo que un sistema basado en correlación puede realizar. El primero es el tiempo que demora la secuencia en ser enviada, propagarse y ser recibida; el segundo es el tiempo insumido en realizar los cálculos de correlación necesarios para determinar las distancias.
El método se basa en la multiplexión de los envíos de
secuencias en el tiempo. Circularmente se envía la secuencia desde cada emisor, se recibe
la misma, y finalmente se realizan los cálculos, procediendo simultáneamente al comienzo
del envío de la secuencia del siguiente emisor. La ventaja de este método es que los
envíos de todos los canales no se mezclan entre sí. Si el factor limitante de tiempo es
el envío/recepción de las secuencias, una desventaja del sistema es que se disminuye la
cantidad de puntos espaciales calculados por unidad de tiempo (ya que se necesitan tantos
envíos como emisores se disponga). Otra desventaja es que el método limita la velocidad
de movimiento del puntero ya que si el mismo se mueve velozmente, el cálculo de las
coordenadas de un punto se realiza basado en distancias a emisores que no parten del mismo
punto real del espacio.
Esta segunda técnica se basa en propiedades de
ortogonalidad de señales aleatorias estadísticamente independientes desde el punto de
vista de la correlación, y de propiedades de linealidad de esta operación. Si se
enviaran en forma simultánea un grupo de señales aleatorias independientes, la señal
recibida sería la suma de ellas. Si la adición recibida se correlacionara con cada una
de las señales enviadas, en cada caso se obtendría un gran pico debido al aporte de cada
una de éstas y el resto desaparecería ya que la correlación entre señales aleatorias
independientes es mucho menor. De esta forma, desde el punto de vista de las correlaciones
obtenidas, sería como si las secuencias hubieran sido enviadas por separado.
Sin embargo este método se ve fuertemente afectado por las restricciones de ancho de banda, hecho que se traduce en la imposibilidad de enviar secuencias cuyas autocorrelaciones sean lo suficientemente parecidas a deltas y, a la vez, sus correlaciones cruzadas tengan valores adecuadamente pequeños.
Secuencias pseudoaleatorias
Para la obtención de una secuencia adecuada, se partió de una secuencia aleatoria generada en un programa de cálculo y luego filtrada entre 30 Khz. y 50 Khz. La misma fue luego sometida a un algoritmo evolutivo de acuerdo a lo siguiente: de la secuencia original se obtuvo una generación de descendientes, siendo cada una de estas, igual a la original mutada mediante la adición de ruido blanco del 0,2% de la máxima amplitud. De esta nueva generación se eligió la mejor secuencia, la cual se utilizó como progenitora de una nueva generación y así sucesivamente.
Para elegir la mejor secuencia de una generación, cada una de ellas fue pasada por un filtro simulando la transferencia del sistema y se correlacionó la filtrada con la original; siendo la mejor la de mayor calificación de acuerdo a:
donde se pondera la potencia de la señal en el primer factor y, dándole más peso con la quinta potencia, la relación entre el pico principal y el pico secundario de la correlación obtenida en el segundo. El pico principal es el único pico que debería aparecer si la secuencia y la transferencia del sistema fueran ideales y la correlación fuera una delta pura. Llamamos pico secundario, al valor máximo que toma la correlación fuera de una pequeña ventana en torno al pico principal. Este criterio hace que vayan sobreviviendo las secuencia con mejores potencias y con correlaciones luego de pasar por el sistema más parecidas a deltas.
Luego de obtener una buena secuencia de esta forma, se continuó aplicando el algoritmo evolutivo pero en lugar de utilizar un filtro que simulara la transferencia del sistema, se enviaron y recibieron las secuencias por el sistema ya armado, efectuándose en esta etapa un ajuste fino a las características de transferencia exactas del BAT.
En las gráficas siguientes se muestran las correlaciones de la secuencia original y de la obtenida finalmente luego del proceso de evolución, observándose claramente la mejora en la calidad el pico principal y la relación entre pico principal y pico secundario.
Decalaje
Dado que la distancia entre los emisores y el receptor es variable, el retardo asociado a la señal de cada canal también lo será. Este hecho hace que sea impensable contar con una sincronización entre los instantes de latcheo de los DAC's y el muestreo del ADC. Por ende la secuencia recibida, aunque fuera en condiciones óptimas (en ausencia de ruido y eco, con los emisores y el receptor estáticos y con un sistema de transferencia ideal) diferiría de la enviada. Esto se reflejará en una reducción del valor de pico de la correlación.
Para entender mejor este fenómeno presentamos un ejemplo. En la siguiente figura se muestra una señal analógica (en azul) con dos instantes de muestreo distintos: las "o" corresponden a la señal digital original enviada y los "*" a la señal digital recibida al muestrear con un retardo de medio período.
Con el fin de detectar correctamente el pico en la correlación sería deseable contar con el máximo pico y la mínima relación pico máximo / pico secundario. Para ello se puede correlacionar la señal digital recibida, con N señales derivadas de la señal digital original que llamaremos "hermanas" de la señal original. Estas hermanas se obtienen muestreando la señal original analógica con retardos de 0, T/N, 2T/N, ..., (N-1)T/N siendo T el período de muestreo. La señal digital recibida estará "más" en sincronía con alguna de estas N secuencias siendo el pico de la correlación con ésta máximo. Será esta correlación la que usaremos en la detección.
Este algoritmo también nos permite aumentar la resolución del sistema N veces, ya que al seleccionar la hermana más sincrónica, estamos midiendo retardos de 1/N de período de muestreo que se convierten directamente en distancias N veces más chicas.
El número N lo elegimos considerando que aumentarlo
implica aumentar el tiempo de cálculo de las correlaciones y la resolución del sistema
en la misma proporción. La resolución no puede aumentarse indefinidamente, ya que para N
muy grande, secuencias hermanas consecutivas se parecen mucho, y la variación en los
picos de las correlaciones quedarían encubiertas por las variaciones producidas por el
ruido ambiente. Por lo anterior y de los datos empíricos se decidió tomar N=8.
Las secuencias a enviar y recibir se alojan en memoria RAM En la conversión digital analógica se utilizó el cuádruple DAC de 8 bits AD-7305 (Analog Devices) y la conversión análoga digital se realizó mediante el integrado MAX120 (Maxim) de 12 bits de resolución. Se colocó un filtro pasabajos activo de 3er orden previo a la etapa de muestreo. Se usó 125 Khz como frecuencia de muestreo, obtenida dividiendo el reloj del bus del PC.
PLD
El PLD debe cumplir tres funciones básicas:
He aquí un diagrama de todos los componentes del circuito digital y las señales que los relacionan:
Transductores de ultrasonido
Como transductores emisores y receptores de ultrasonido se utilizó elementos piezoeléctricos. El funcionamiento de los transductores piezoeléctricos está basado en dos propiedades que poseen las cerámicas piezoeléctricas conocidas como efecto piezoeléctrico y efecto piezoeléctrico inverso.
Un transductor cerámico piezoeléctrico puede ser representado mediante un circuito eléctrico equivalente como el de la figura llamado circuito equivalente de Maison. Valores típicos de los parámetros del circuito equivalente para piezoeléctricos que funcionan en torno a los 40 Khz. son:
RESPUESTA EN FRECUENCIA DE LOS PIEZOLÉCTRICOS
Los transductores piezoeléctricos presentan, en general, un pequeño ancho de banda, cosa que se puede apreciar en la respuesta en frecuencia del circuito equivalente.
En el transmisor, la energía eléctrica que es transformada en energía mecánica es la disipada en la resistencia Rs del modelo (el único elemento del circuito que consume energía activa). Para valores típicos de los parámetros, la corriente por Rs presenta una dependencia de la frecuencia como la de la gráfica.
Para el receptor el modelo eléctrico equivalente se obtiene agregando una fuente de tensión en serie con Rs que representa la señal eléctrica generada por las vibraciones mecánicas. El receptor presenta una transferencia de apariencia muy similar al del emisor, mostrando también un pico muy agudo en torno a los 40 Khz.
COMPENSACIÓN DE LOS PIEZOLÉCTRICOS
La característica aguda de la respuesta de los piezoeléctricos resulta poco deseable a la hora de transmitir secuencias pseudoaleatorias las cuales requieren un mayor ancho de banda; sin embargo es posible modificar la respuesta de los mismos mediante la adición de resistencias e inductancias de compensación.
Tanto en recepción como en transmisión este procedimiento modifica la respuesta del sistema de forma tal que en lugar de un pico en la respuesta aparecen dos; teniendo las bobinas influencia sobre la posición (en frecuencia) y la amplitud relativa de los picos, y las resistencias sobre la agudeza de los mismos.
Para el caso del transmisor, se debe agregar una resistencia y una bobina en serie con el transductor. En cambio, para la compensación del receptor, la resistencia y la bobina se deben agregar conectadas en paralelo.
El procedimiento seguido para determinar los valores de los componentes a utilizar en la compensación comenzó por la determinación de los parámetros del modelo del emisor. Para ello se midió la impedancia presentada por el piezoeléctrico a distintas frecuencias y se ajustaron los valores del modelo para que presentara una impedancia lo más parecida posible a la real. En la gráfica se muestra la aproximación obtenida, indicando con línea sólida los valores teóricos y con asteriscos los valores medidos.
Una vez obtenido el modelo, se escogieron mediante simulación los valores de resistencia e inductancia que para los cuales el emisor mostró una banda pasante razonablemente plana (los dos picos en la transferencia muy poco pronunciados). Por último se realizó en forma empírica la compensación del receptor, utilizando componentes de valores del orden de los usados para el emisor y buscando lograr el mayor ancho de banda posible en la transferencia tensión aplicada / tensión leída del par de piezoeléctricos compensados.
Finalmente se obtuvo una transferencia global con un
ancho de banda de 8 kHz @ -3db, centrado en los 40 Khz.
Etapa de Entrada
| Dado que las señales eléctricas generadas
por el receptor compensado son de muy baja tensión se requiere una amplificación antes
de su adquisición por medio del ADC. Cuando la distancia entre emisor y receptor ronda el
valor máximo establecido para el sistema o cuando el ángulo de visibilidad entre
transductores es grande, las señales medidas en el receptor compensado pueden estar
debajo del milivoltio de amplitud. Como circuito de amplificación se utilizó un esquema
basado en 2 etapas con entrada diferencial y una ganancia total de un valor máximo
cercano a 2000. Para disminuir el efecto parásito del ruido de radiofrecuencia se cubrió el puntero con un capuchón de aluminio que le dio a su vez mayor rigidez mecánica. |
El puntero por dentro |
Esquemático del amplificador de
entrada
Etapa de salida
| La etapa de salida tiene como objetivo
adecuar los niveles de voltaje y otorgar corriente suficiente para excitar a los
transductores emisores. Una ventaja del uso de transductores piezoeléctricos es su alto
rendimiento potencia eléctrica - potencia acústica. La corriente que consumen es tan
pequeña que no es necesario la utilización de amplificadores de potencia. Si bien los
transductores aceptan voltajes del orden de los 40 voltios pico a pico, se decidió
alimentarlos entre ±12 voltios (24 Volts pico a pico) aprovechando el voltaje disponible
en el bus ISA. El DAC utilizado (Analog Devices AD7305) entrega su salida en forma unipolar entre 0 y 5 voltios. El amplificador utilizado deberá mapear linealmente los valores [0, +5] volts en [-10.5 , +10.5] volts. Se deja un margen de 1,5 volts para la polarización del operacional a usar. De esta forma cuando se escriba el valor 00000000b en el DAC la salida será de -10,5 volts y cuando se escriba el valor 11111111b la salida será de 10,5 volts. |
La etapa de salida en la tarjeta |
El circuito propuesto surge a partir de una leve modificación del amplificador no inversor realizado con un operacional.
Esquemático de la etapa de salida
Para operar la tarjeta, se realizó un software en VC++ que se encarga de realizar el control de las operaciones y los cálculos asociados para la determinación de la posición del puntero. El programa se puede dividir en cuatro partes: debugging, loop principal, calibraciones y aplicación gráfica. En la sección de debugging se puede enviar manualmente todos los comandos ya mencionados de la tarjeta para probar el funcionamiento por partes de la tarjeta así como permitir mostrar el funcionamiento de la misma paso a paso. Ya que el hardware se encarga solamente de enviar y muestrear las secuencias, es el software el que se encarga de realizar los cálculos de correlación y calcular las posiciones absolutas del puntero. Todo el cálculo se engloba en un loop principal que permite mostrar continuamente la posición absoluta del puntero. Dentro de este loop se envían los comandos de recepción, envío y lectura de secuencias. Para cada secuencia recibida se realizan los cálculos de correlación y decalaje para determinar la distancia individual al emisor correspondiente. Junto con el resultado de distancia se entrega un valor de confiabilidad de la medida que se halla a partir de la calidad del pico de correlación calculado y de la continuidad de la medida (que tanto la medida es cercana a la anterior). Una vez hallada las cuatro distancias se procede a realizar el cálculo de posición absoluta que se basa en estas cuatro confiabilidades para determinar que medidas tomar en cuenta. Si las cuatro confiabilidades son buenas, se aplica el promedio ponderado (según la confiabilidad) de las posiciones obtenidas con las cuatro ternas posibles. Como se estudió al comienzo de este trabajo, las ecuaciones de distancia entregan dos soluciones posibles simétricas respecta al plano formado por los 3 emisores correspondiente. Esto lleva a que cuando se resuelva el sistema para las cuatro ternas, existan no cuatro sino 8 soluciones posibles. Si las medidas son correctas, cuatro de ellas deberían estar muy cerca espacialmente y las restantes cuatro corresponderían a los simétricos (que estarán alejadas entre sí a menos que los emisores sean coplanares). Para hallar la solución correcta se busca la combinación de soluciones que minimice las distancias entre ellas. Si una confiabilidad es muy baja, la ecuación de distancias se aplica directamente sobre la restante terna. De las dos soluciones posibles, se toma como correcta la más cercana a la calculada anteriormente (aplicando la continuidad del movimiento) Acompañando la posición hallada se entrega también una valor de confiabilidad total. Las confiabilidades son porcentuales y se calibraron de tal forma de disponer de una medida segura si su confiabilidad supera el 60%. El loop corriendo en un PC Pentium III de 450 Mhz permite entregar aproximadamente 17 puntos por segundo. Se incluyeron botones que permiten mostrar en todo momento una gráfica de la última señal recibida o correlación calculada de cualquier canal.
Para contemplar las variaciones de temperatura que afectan directamente la velocidad del sonido y por ende la media calculada, se incluyó un procedimiento de calibración que solicita se coloque el puntero a 100 y 200 centímetros del primer emisor. Registrando la cantidad de muestras de distancia calculadas en ambas configuraciones, se hallan las constantes a y b que convierten de muestras (M) a centímetros (C). C = aM +B.
Además, antes de poder comenzar a usar el sistema, es necesario determinar la ubicación espacial de los emisores. Dado que nuestro objetivo es que el sistema pueda ser de uso general este procedimiento debe ser lo más sencillo posible, sin requerir que el usuario lleve a cabo tareas tediosas o deba capacitarse con este fin.
Las coordenadas de los emisores se toman de forma de tener la mínima cantidad de incógnitas, eliminando las incógnitas superfluas debidas a las traslaciones y rotaciones de todos los emisores solidariamente. Para cuatro emisores la mínima cantidad de incógnitas es 6. Para poder hallarlas pediremos al usuario que posicione el puntero en una determinada cantidad (N) de posiciones del espacio diferentes que llamaremos puntos auxiliares (PA). Obviamente N ³ 6, pero dado que cada medida tiene error seria deseable tener N >> 6 para poder aplicar un método estadístico que reduzca el error en las incógnitas.
Cada PA de coordenadas (X, Y, Z) aporta 4 ecuaciones y 3 incógnitas, por lo que luego de eliminar las coordenadas del PA, se obtiene una ecuación que no depende de sus coordenadas, sino solamente de las coordenadas de los emisores. Al evaluar esta ecuación en un punto que no es solución se obtendrá del lado derecho una cantidad distinta de 0 que se llama Residuo. Por lo tanto contamos con N ecuaciones, no lineales en las incógnitas, que resolveremos por medio del método de mínimos cuadrados para sistemas no lineales.
El error obtenido en la posición de los emisores disminuye al aumentar la cantidad de PAs tomados. Haciendo un compromiso entre la precisión deseada y el tiempo necesario para calibrar el sistema decidimos tomar 50 PAs.
Se incluyó además una aplicación gráfica que se implementó sobre una capa superior, y que muestra gráficamente el dibujo que se genera del movimiento del puntero. A medida que el puntero se va moviendo, el sistema va registrando los puntos y mostrando una proyección de la curva generada en un plano normal a la recta formada por un punto que actúa de cámara y el punto (0,0,0). Para la mejor visualización del dibujo 3d generado, se incluyeron funciones de rotación en todos los ejes, así como acercamientos y alejamientos. Se habilitó además una modalidad de trabajo donde la posición del puntero determina ubicación de la cámara proyección. De esta forma moviendo el puntero se puede ir rotando la curva dibujada y observarla en pantalla tal como se vería desde la posición del puntero. La distancia del puntero al (0,0,0) determina el factor de acercamiento simulando aún más el efecto menciono. Esta modalidad ayuda a la visualización y compresión de la curva creada. Para realizar la aplicación gráfica aprovecharon las rutinas de manejo gráfico provistas por OpenGL (disponibles a partir de Windows 95R2 de Microsoft).
Luego de disponer del hardware y software completo, se realizaron numerosas pruebas para determinar la exactitud de las medidas entregadas por el sistema.
Precisión en la medida de distancias
La resolución final en la medición de distancias lineales es de 0,3 mm, que es la distancia que el sonido se propaga en un octavo del período de muestreo (debido a la existencia de ocho hermanas en el algoritmo de decalaje). Sin embargo el error puede ser algo mayor si el sistema, por alguna causa, no selecciona la hermana correcta en el algoritmo de decalaje.
Por otro lado la velocidad del sonido varía sensiblemente con la temperatura a tal punto que midiendo una distancia de 100 cm, ¼ de °C hace variar la distancia en 0,4 mm (distancia mayor que la resolución natural). Esto concluye que es imposible mantener el sistema perfectamente calibrado a medida que el puntero se mueve en espacios con gradientes de temperatura con variaciones de algunos grados Celsius. En éstos casos se tendrá en el error en las medidas una fuerte componente debida a la temperatura.
Para cuantificar el error en la medida de distancias en que el sistema incurre en ambientes de temperatura uniforme, se realizaron cinco pruebas, luego de calibrar el sistema, en la que se midieron distancias desde los 50 a los 330 centímetros, variando de a 10 cm. Las medidas se realizaron con visión directa entre emisor y receptor, a 30°, 60° y 90°. Se indica el error máximo, y el error promedio para cada ángulo de visibilidad. Las unidades para todas las medidas son centímetros.
Visión Directa 1 |
Visión Directa 2 |
30° |
60° |
90° |
|
Error máximo |
0,1 |
0,13 |
1,01 |
0,2 |
2,02 |
Error promedio |
0,04 |
0,03 |
0,1 |
0,04 |
0,7 |
Quitando las medidas realizadas a 90°, dónde las características de radiación de los transductores es bastante pobre, se puede decir que el error típico en la medida no suele superar el milímetro y el error máximo puede llegar al centímetro.
Repetibilidad en la medida de las distancias
Se realizaron también pruebas de repetibilidad de la medida. Luego de una calibración se colocó el puntero a 100 cm., 175 cm. y 250 cm. de distancia del emisor y para cada caso se evaluaron 250 medidas consecutivas con una separación de un tercio de segundo entre medidas. Se incluye a continuación un resumen del resultado del experimento (medidas y frecuencias):
Medida (cm) |
Cant. 1 |
Valor 1 |
Cant. 2 |
Valor 2 |
Cant. 3 |
Valor 3 |
100 |
219 |
100,0 |
31 |
99,996 |
- |
- |
175 |
166 |
175,042 |
84 |
175,008 |
- |
- |
250 |
1 |
250,017 |
248 |
250,05 |
1 |
250,083 |
Estos resultados indican bajas desviaciones estándar del orden de los 0,001 cm.
Error en las coordenadas
El error en la medida de las distancias entre emisores y puntero se propagará en los cálculos reflejándose en un error en el valor de la posición absoluta del puntero. Este error dependerá no solamente del error en las distancias sino también de las posiciones de los emisores, de la posición relativa del puntero con estos, así como del error con el que se vean afectadas las posiciones de los emisores a partir de las cuales el sistema calcula las coordenadas.
INFLUENCIA DE LA DISTRIBUCIÓN DE LOS EMISORES
Para este estudio se simuló el error medio en el que se incurriría en el cálculo de las coordenadas del puntero cuando este está fijo en un punto del espacio y se modifica la distribución de los emisores.
Se consideró un plano grillado (cuadrados de 10cm x 10 cm) en el cual estarían contenidos los emisores; dos fijos, separados 150 cm y, ubicando el tercero en todos los puntos de la grilla, se realizó el cálculo de error mencionado. Se definió la posición de los dos primeros emisores como (0, 0, 0) y (0, 0, 150), y la del tercero como (0, y, z) con y ³ 10 para no tener problemas de división por cero, quedando los tres contenidos en el plano y-z. Se ubicó el puntero en la posición (200, 75, 75) y se manejó un valor de un milímetro como el error típico en la medida de una distancia. En la gráfica siguiente se muestra el error cometido en la medida de las coordenadas del puntero ubicado en el punto mencionado cuando se ubica el tercer emisor en los distintos puntos de la grilla.
Como era de esperar, se observa que los errores mayores se producen cuando la distribución de los emisores se aproxima más a estar contenida en una recta. En la gráfica se observó un asíntota en lo valores de error indicando que el error se mantiene en el orden de los 2 o 3 mm si el tercer emisor se ubica a más de 1 m de la recta determinada por los dos primeros; por esta razón esta será la separación mínima recomendada.
INFLUENCIA DEL ERROR EN LAS POSICIONES DE LOS EMISORES
Una vez determinada la forma adecuada para la distribución de los emisores, se estudió numéricamente la dependencia del error final con la posición del puntero dada una distribución de emisores afectada por un determinado error en sus coordenadas.
Para ello se simuló el error cuando los emisores se encuentran en las posiciones (0, 0, 0), (0, 0, 150) y (0, 150, 150) y estos valores de coordenadas están perturbados por un error distribuido uniformemente entre [-1,1], es decir, para el software los emisores estarían ubicados dentro de un cubo de 2 cm. de lado centrado en la posición real del emisor.
La simulación indicó que en un entorno de trabajo dentro de un prisma dado por 100 £ x, 0 £ y £ 150, 0 £ z £ 150, el error medio se mantiene acotado por debajo de los 2 cm. En general se puede afirmar que si el puntero se mantiene a más de 1 m del plano formado por los emisores el error estará acotado en el orden de los 2 cm.
Para la obtención del error final total se deberían agregar los efectos de los errores en las distancias, así como el de los errores en las posiciones de los emisores. Sin embargo, el que la distancia medida hasta un emisor esté afectada por un error, es un problema equivalente a que la posición de ese emisor sea conocida con un determinado error, y dado que el error considerado para las posiciones de los emisores es mucho más grande que el error típico en la medida de las distancias, el efecto de este último está cubierto por los primeros y se puede considerar el error total como el estudiado en el punto anterior (Error final asociado a los errores en las posiciones de los emisores).
Todas las medidas de estimación de error se realizaron con el puntero inmóvil. El movimiento relativo entre el puntero y los emisores provoca un error debido al efecto Doppler.
Si al momento de la recepción el puntero tiene una velocidad relativa a un sensor, la secuencia recibida se deformará temporalmente ya sea estirándose cuando el movimiento relativo tienda a separarlas, o encogiéndose cuando el movimiento relativo tienda a juntarlas. Como el método de correlación se basa en el parecido temporal de las dos secuencias, la diferencia puede llegar a ser tal que dificulte (o imposibilite) la detección del pico de correlación.
Mediante simulaciones en un programa de cálculo se
encontró que, con una velocidad relativa del 0,5% de la velocidad del sonido el pico
sigue siendo detectable, pero en general velocidades relativas mayores al 0,8% impedirán
la correcta ubicación del pico de correlación. Esta velocidad relativa corresponde con
una velocidad de movimiento radial de 2,7 metros por segundo siendo la velocidad radial
aquella proyectada sobre la recta formada entre el emisor y el puntero.
Se implementó todo el hardware - software y se realizaron extensivas pruebas del sistema completo. Se incluyó una calibración en la medida de distancias lineales y una calibración para hallar de forma semiautomática la posición de los emisores evitando la necesidad de tomar medidas complejas.
Los resultados generales fueron muy buenos lográndose el objetivo de medir con un error acotado la posición absoluta del puntero y realizar una aplicación gráfica que muestre un dibujo tridimensional. Sin embargo, diversas razones reducen la factibilidad del uso del sistema en aplicaciones de ubicación de objetos. A continuación se enumeran las limitantes del sistema y una posible solución de las mismas:
1) La direccionalidad de los transductores dificulta el estar sincronizado con 3 de ellos simultáneamente (para poder calcular correctamente la posición). Esto hace que los 4 emisores deban estar del mismo lado y el puntero debe siempre estar mirando hacia esa zona, lo que limita el movimiento del mismo. La forma de solucionar este problema es incrementar la cantidad de emisores para que cualquiera sea la dirección del puntero, siempre tenga al menos 3 emisores con visión directa. Creemos que 8 o 9 emisores son suficientes.
2) Dado que las señales ultrasónicas no son capaces de atravesar objetos, para que el sistema pueda funcionar correctamente, el espacio de movimiento del puntero debe estar vacío. Cuando un objeto se interpone entre un emisor y el puntero, la señal ultrasónica bordeará al mismo incrementado la distancia aparente entre ellos. Desafortunadamente el pico de correlación seguirá siendo bueno por lo que no es posible percatarse del error cometido. La forma de solucionar este problema es agregar redundancia suficiente para poder detectar que una o más distancias son incorrectas y así no tomarlas en cuenta.
3) Una propiedad de las señales ultrasónicas es su potente reflexión en objetos sólidos. Paredes, pisos, techos y objetos planos en general reflejan las señales de tal forma que pueden hacer confundir un pico principal con un rebote. Si bien se programó el software para detectar e intentar corregir estos problemas, hay casos en los que la señal reflejada es tanto más fuerte que la directa que resulta imposible. Para estos casos, tal como el software lo hace hoy día, sólo se puede usar una predicción basada en la continuidad de la medida de distancia, para descartar la medida.
4) El efecto doppler deforma la señal recibida dificultando el reconocimiento del pico de correlación. Para solucionar este problema se podría calcular la correlación no solamente contra la secuencia original, sino además contra secuencias "estiradas" y "contraídas" temporalmente, quedándose con la que genere el mejor pico. Esto no solo permitiría incrementar la velocidad del puntero, sino además tener una aproximación de la misma para estimar mejor las posiciones futuras. Como contrapartida esta solución produce un sensible incremento del tiempo de cálculo.
El hecho de no haber encontrado transductores con mayor ancho de banda impuso una limitante crítica a la performance del sistema. De haber contado con ellos, hubiéramos podido trabajar con secuencias más cortas, reduciendo así el tiempo de cálculo, aumentando la cadencia y disminuyendo el efecto de los rebotes. Además la mejora en la calidad de los picos de las correlaciones hubiera reducido la probabilidad de error y permitido aumentar la resolución, incrementando la cantidad de hermanas en el algoritmo de decalaje.
Otra mejora al sistema que ya se mencionó, sería el aumento del número de emisores. El diseño soporta hasta 8 emisores. Para colocarlos habría que simplemente agregar otro DAC con 4 amplificadores de salida.
Finalmente, se podría ampliar el sistema para que incluyera más punteros. Para ello habría que agregar, por cada nuevo puntero, un circuito de amplificación de entrada y un ADC, permitiendo así recibir tantas secuencias simultáneas como punteros existan. El software debería repetir los cálculos de correlación para cada secuencia recibida.
| Sección de fotografías | |
| Documentación Completa (pdf - 4.3Mb) |