# Detección de coordenadas XYZ en el espacio



## Pituss (Sep 12, 2009)

Estoy realizando un proyecto, en el que tengo que obtener las *coordenadas xyz de ubicación en el espacio* donde esta mi robot. Mi idea es usar senores de distancia por ultrasonido. Lo que quisiera saber es cual es lo mejor forma de disponer los sensores y cuantos me harían falta usar para obtener las coordenadas xyz. Dispongo de sensores de distancia SRF02 conectados a una placa arduino.


Se agradece cualquier ayuda

Saludos


----------



## Zetthketin (Sep 14, 2009)

Hola Pituss 
Algo mas de información vendria bien
si es un brazo robot talvez no necesites sensores en el eje z 
aun si tiene movimiento en x, y
si es un avion o submarino si lo necesitarias, pero entonces la forma y las dimenciones serian necesarias tambien
minimamente necesitas 4 sensores en (X) si no conoces la superficie donde se mueve tu robot 
o 2 sensores en (L), si la conoces y la puedes muestrear primero
Saludos


----------



## aguevara (Sep 15, 2009)

Te recomiendo un acelerometro triaxial para saber tu posicion en el espacio


----------



## jhefren (Sep 18, 2009)

Existen en el mercado varios sensores tipo acelerometros que te pueden servir para detectar el eje en el que se desplaza dicho sensor y tenemos estos:
* [/SIZE]M7202GL

Este es un sensor de dos (2) ejes X-Y en la pagina de x-robotics.com esta este circuito:
	

	
	
		
		

		
			





*MMA7660

Este es un sensor de tres (3) ejes y lo puedes ver aqui:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MMA7660FC


*ADXL335

Este es otro acelerometro de tres (3) ejes:


----------



## golumx (Sep 21, 2009)

La cosa no es tan simple, con un solo acelerometro puedes conocer el vector aceleracion y realizando sus derivadas, la velocidad y la distancia recorrida en cada eje, pero para conocer la posicion en el espacio ademas necesitas un giroscopo de tres ejes, para conocer los giros que se producen en cada eje. Todo esto se llama UNIDAD DE MEDIDA INERCIAL (IMU en ingles) de 6 ejes.  Pero creo que hay sistemas mas simples (este es el sistema que empleaban los aviones para conocer su posicion en los vuelos transoceanicos.


----------



## Pituss (Sep 22, 2009)

Mil gracias a todos por la data..... 

*Zetthketin* te explico un poco mejor lo que estoy haciendo... Es un robot pez, que teledirijo. Las dimensiones del pez todavia no son definitivas. Las dimensiones del espacio en el que se moveria las tengo aproximadas, pero pretendo que se mueva en diferentes tipos de espacio.

*Aguevara + jhefren*... Muy bueno el tema del acelerometro tri axial, la verdad que desconocia este tipo de sensores. Estoy bucando mas información de los mismos en los link que pasaron. 

PREGUNTA: ESTOS ACELEROMETROS ESTAN SETEADOS PARA ARRRANCAR EN COORDENADAS 0,0,0 ????


*Golumx*..... a que te referis con giros?????, *podrias explicarme un poco más esto*. Mi idea, que al ser un robot pez, este se desplaza sin giros, por medio del impulso de su aleta hacia adelante y arriba y abajo por medio de las aletas de los pectorales...mil gracias a vos tb.

Saludos


----------



## golumx (Sep 27, 2009)

para poder saber la posicion en el espacio has de conocer 7 parametros, la aceleracion en los ejes X,Y,Z a lo largo del tiempo, la primera derivada de estos parametros nos dara la velocidad a la que se esta moviendo y la segunada derivada respecto del tiempo nos dara  el espacio que recorre en cada eje. El giroscopo, es lo mismo pero lo que registra son los giros en cada eje, en tu proyecto, el pez se movera en un entorno 3D, por lo cual ademas has de tener en cuenta la accion de la gravedad. Busca en las notas de aplicacion de los fabricantes de acelerometros y giroscopos para comprender mejor como se trabaja y que aplicaciones tienen estos elementos.


----------



## tiopepe123 (Sep 27, 2009)

Los accelerometros van geniales para conocer la inclinacion.

Para conocer la posicion ya empiezan a fallar, el calculo es sencillo ya que son simple sumas, pero y ahi esta el problema tambien se suma el error y por tanto es acumulativo.

El giroscopio solo mide giros y complementa al acelerometro, aunque el tema esta algo difuso hasta en los propios fabricantes.

Creo que es la PS· tiene un mando de 6 grados.
La WII popularizo el accelerometro, aunque han sacado un nuevo modelo con giroscopio.


Para mas información:

buenos appnotes
http://www.analog.com/en/mems/products/index.html

http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=011269&tid=FSH

Si utilizas ultrasonidos creo que necesitaras arrays o sea multiples sensores.
Te lanzo un tema para meditar, seria factible utilizar tubos/cilindros para compartir un unico sensor.
has calculado el tiempo del sonido en revotar?
Segun el tamaño de la pecera te sera dificil determinar entre lo que es revote y el tiempo de estabilizacion del emisor.

Finalmente y para calentarte un poco la cabeza, por que no utilizar un gps via serie? con eso tienes la posicion del engendro cuando saque la loma.


----------



## golumx (Oct 5, 2009)

bajo el agua lo unico puedes emplear una brujula digital para conocer el rumbo y un barometro para la profundidad pero no se me ocurre como conocer la distancia recorrida sin un acelerometro, le haces la segunda derivada respecto del tiempo y obtienes la distancia recorrida. Pero el procesamiento de los datos me parece complicado por que has de tener en cuenta que los sensores van montados sobre el pez que tiene su propio sistema de coordenadas y has de transformarlo a un sistema absoluto que sera el acuario.... hace falta una buena potencia de calculo.


----------



## Pituss (Oct 15, 2009)

*golumx....* 



entonces si solo necesito saber las coordenadas en un espacio 3D, un acelerometro triaxial me daria estos datos??. En mi proyecto lo que estoy haciendo es enviandole coordenadas al robot para que este realice, por eso necesito saber exactamente donde esta ubicado en referencia del espacio para que pueda ubicarse en el espacio y se mueva hacia las coordenadas que le envio.



Lo que me decis de : " has de tener en cuenta que los sensores van montados sobre el pez que tiene su propio sistema de coordenadas y has de transformarlo a un sistema absoluto que sera el acuario.... hace falta una buena potencia de calculo "



*A QUE TE REFIERES???*



*tiopepe123....buenos aportes... lo del gps me deja pensando.*



el tema de usar ultrasonido fue mi 1ra opcion pero este me traia complicacion para que el pez pueda moverse con mayor libertad. 

Lo que me decis del gps via serie, como seria bien?????, podria ser ahora que lo pienso, lo que no se es realmente cuan complicado seria de implementar.

Seguire investigando... pero voy avanzando

*Gracias por la data a todos*


----------



## golumx (Oct 16, 2009)

un solo acelerometro no sirve para tus fines has de complementarlo con un giroscopo, en cada diferencial de tiempo (tiempo entre mediciones) el pez estara sometido a desplazamientos y giros en todas direcciones y deberas tenerlas en cuenta todos estos parametros para saber como esta situado tu sistema local de coordenadas (el pez) respecto al sistema absoluto (la pecera). Y si has de montar un micro bastante potente ya que tiene que realizar complejas opreaciones matematicas tales como funciones trigonometricas para obtener las sucesivas transformadorrmaciones de los dos sistemas de coordenadas (local y absoluto) ademas de realizar derivadas y resolver ecuaciones.... estaria bien empezar a pensar en un coprocesador matematico.


----------



## asherar (Oct 16, 2009)

Hola: 
Tengo una duda. 
1.- Dónde está la referencia absoluta u origen = (0,0,0) ?
2.- Cómo haces con los ultrasonidos ? Mandas un pulso y mides el 
tiempo de vuelo luego de la reflexión en las paredes de la pecera ? 
En mar abierto no habría paredes ... 

Saludos


----------



## asherar (Oct 17, 2009)

golumx dijo:


> para poder saber la posicion en el espacio has de conocer 7 parametros, la aceleracion en los ejes X,Y,Z a lo largo del tiempo, la primera derivada de estos parametros nos dara la velocidad a la que se esta moviendo y la segunda derivada respecto del tiempo nos dara  el espacio que recorre en cada eje. El giroscopo, es lo mismo pero lo que registra son los giros en cada eje, en tu proyecto, el pez se movera en un entorno 3D, por lo cual ademas has de tener en cuenta la accion de la gravedad. Busca en las notas de aplicacion de los fabricantes de acelerometros y giroscopos para comprender mejor como se trabaja y que aplicaciones tienen estos elementos.



Perdoname golumx pero con este van dos veces que cometés el mismo "desliz" (ver mensaje anterior).
Para obtener la velocidad a partir de la aceleración, a ésta última se la debe *integrar*, no derivar: 

velocidad = integral (aceleración  * dt)

Lo mismo con la posición a partir de la velocidad: 

posición = integral (velocidad * dt)

Estoy seguro que quisiste decir esto, pero te quedo justo al revés. No queremos que el pez robot de Pituss termine en el Mar de la Tranquilidad (eso queda en la Luna). 

A propósito, los errores de estos métodos son acumulativos, tanto más que el tiempo siempre aumenta. Así, la posición termina dando cualquier cosa. 
No sé cómo pero, si se pudiera, sería mejor algún método basado en alguna referencia fija. 

Saludos


----------



## golumx (Oct 20, 2009)

Alejandro gracias por la correcion, tienes toda la razon hay que hacer la integral doble de la aceleracion respecto del tiempo (transcurrido entre mediciones). Cierto los errores son acumulativos pero sino no se me ocurre otro sistema. Para la navegacion de submarinos se calcula la posicion a partir de la velocidad de avance, rumbo y tiempo transcurrido desde la ultima posicion y cuando pueden sacar la antena pues corrigen con GPS..... El error dependera de la precision de tus medidas.


----------



## tiopepe123 (Oct 20, 2009)

Por desgracia utilizar accelerometros no es muy preciso, ho eso decian los de nationals que explicaban en un video la idea de suplir mediante giroscopios las zonas oscuras como tuneles durante los trayectos guiados por gps

por cierto

http://www.linuxzone.es/2009/10/12/sumarino-con-debian-ganador/


----------



## fernandob (Oct 20, 2009)

golumx dijo:


> Alejandro gracias por la correcion, tienes toda la razon hay que hacer la integral doble de la aceleracion respecto del tiempo (transcurrido entre mediciones). Cierto los errores son acumulativos pero sino no se me ocurre otro sistema. Para la navegacion de submarinos se calcula la posicion a partir de la velocidad de avance, rumbo y tiempo transcurrido desde la ultima posicion y cuando pueden sacar la antena pues corrigen con GPS..... El error dependera de la precision de tus medidas.


 
y mapas y boyas , con los cuales corrigen y obtienen la posicion 00 que menciono alejandro.

a mi tambien me parecia bueno eso, ademas si tu le das coordenadas , supongamso en una pileta, deberian ser coordenadas de ese entorno.
o respecto de algo.

o estoy errado ??

dependiendo de la aplicacion podria el pez (cuando tu le des la orden ) dejar caer una boya la cual seria tu referencia y punto de retorno a casa, por dar una idea.
disculpa si me voy  a cualquier lado ,solo toco de oido . 

un saludo


----------



## Fogonazo (Oct 20, 2009)

Por aquí se hablo del tema.

https://www.forosdeelectronica.com/f23/electronica-rov-submarino-12136/


----------

