Proyecto AndroidePortada | Acerca de | Ayuda | FAQ | Páginas especiales | Registrarse/Entrar

Categorías: Cinemática | Electrónica | Programas
Versión para imprimir | Aviso legal | Política de protección de datos | Revisión actual

Módulo de equilibrio

(Diferencia entre revisiones)

Revisión de 03:37 28 mar 2008
Adrian (Discusión | contribuciones)

← Ir a diferencia anterior
Revisión de 16:01 28 mar 2008
Edu (Discusión | contribuciones)

Ir a siguiente diferencia →
Línea 128: Línea 128:
---- ----
 +Como complemento, y para agregar información, no estaría de más agregar inclinómetros para tener más información del sistema. Hay que considerar que agrega costo monetario y de procesamiento.
 +Pero no creo que puedan reemplazar encoders. Hay un par de problemas: creo que no son precisos (la salida no tiene buena resolución, a mi entender, fijate que la variación de salida en cambios realmente grandes de posición, como 90º, es muy poca) y la inercia afecta todo el tiempo sus mediciones, como para convertirlas con facilidad en ángulos.
 +
 +De todos modos, experimentar no estará de más.
 +
 +Los módulos de Parallax (que puede proveer Aristides) cuestan us$ 60.
 +
 +--[[Usuario:Edu|Edu]] 13:01 28 mar 2008 (ART)
 +----
 +
 +
 +
[[Categoría:Cinemática]] [[Categoría:Cinemática]]
[[Categoría:Electrónica]] [[Categoría:Electrónica]]
[[Categoría:Programas]] [[Categoría:Programas]]

Revisión de 16:01 28 mar 2008

El módulo de equilibrio recibirá datos desde un inclinómetro principal, más todos los datos desde los módulos de los miembros afectados en la locomoción. Habría que ver si es necesario agregar más inclinómetros.

Los datos llegados de estos módulos de los miembros (módulos del área motora) serían:

El módulo realizaría los cómputos con estos datos y decidiría los ajustes necesarios en el movimiento, informándolos a los módulos del área motora o a la unidad central del robot. Entiendo que es más lógico que lo informe la unidad central del robot, que debe saber qué pasa en el cuerpo y ordenar los movimientos él.

Quizás se deba implementar un doble comando: acciones inmediatas en caso de emergencia, directamente a los módulos del área motora, como los reflejos en los seres vivos, y otras informaciones de estado del equilibrio a la unidad central del robot, todo el tiempo.


La nota de aplicación AN715 Microchip sería el inclinómetro.--Adrian S.A. 22:14 24 mar 2008 (ART)


El inclinometro, mide un angulo entre que y que?, puede dar una posicion absoluta respecto a la tierra?

--Mastromec 19:30 25 mar 2008 (ART)


Mide el ángulo entre él y la fuerza peso. Suponiendo P=F=m.g . ( en cualquier planeta que tenga la suficiente aceleración de la gravedad para que F<>0 ).
Es lo que entiendo. Todavía no he leído a fondo la nota de aplicación esa. Espero comentarios de Edu a ver si podemos armar eso. Por ahí metemos un péndulo con un resistor como los medidores de los tanques de nafta, por cada plano de inclinación.  :) .

--Adrian S.A. 19:54 25 mar 2008 (ART)


Yo tengo un módulo con este acelerómetro

http://www.parallax.com/Portals/0/Downloads/docs/prod/acc/H48CDatasheet.pdf

Mide aceleraciones de hasta 3G y también la inclinación estática con respecto a la gravedad de la Tierra en tres ejes, X, Y y Z.

El módulo es:

http://www.parallax.com/Store/Sensors/AccelerationTilt/tabid/172/CategoryID/58/List/0/Level/a/ProductID/97/Default.aspx?SortField=ProductName%2cProductName

Tembién tengo este, de dos ejes

http://www.parallax.com/Store/Robots/RoboticAccessories/tabid/145/CategoryID/58/List/0/Level/a/ProductID/93/Default.aspx?SortField=ProductName%2cProductName

--Edu 20:23 25 mar 2008 (ART)


Vos lees en el micro 3 voltajes variables que te indican la inclinacion x,y,z como un vector, con un cero OK?, y medis la aceleración angular porque conoces el tiempo que paso desde que cambiamos de x a x', de y a y'y de z a z'? en definitiva haces una resta vectorial?

Si es asi, es muy bueno... y nos va ha simplificar mucho las cosas.

--Mastromec 23:51 25 mar 2008 (ART)


Sí, por las hojas de datos entiendo que es así; en realidad aún no tuve tiempo de probarlos experimentalmente, porque tengo el taller desarmando por una mudanza interna en mi casa. Ahora ya le está tocando el turno de rearmar todo y tendré un lugar triplicado (mesas, mesas, ¡mesas!) para extender los proyectos y trabajar.

El chip entrega valores analógicos, en el módulo donde han montado ese chip hay otro chip que convierte y entrega datos por interfaz sincrónico serie. Además, el módulo entrega una señal a la que llaman "Free-fall output", que indica 0g simultáneo en los tres ejes. Es decir, si esta línea deja de indicar el 0g simultáneo entiendo que significa que hay un movimiento, y leyendo los otros valores y tomando un registro en el tiempo se podrá monitorear qué movimiento es. Creo que esta señal --si funciona como imagino-- facilita mucho las cosas con respecto a las aceleraciones.

Adrián va a probar el tema del encoder en laboratorio, yo me comprometo a tener esto probado en detalle en un tiempo más. Sólo depende de mis movimientos físicos caseros.

El tema de los acelerómetros e inclinómetros se ha facilitado muchísimo desde que se implementaron los sensores MEMS (sensores electromecánicos microscópicos) dentro de estos chips.

Si esto no fuera lo que pensamos, hay giróscopos accesibles, de los que se usan para los helicópteros a radiocontrol. Casi seguro están basados en chips como estos. En Mirax venden de éstos (a propósito, no te había comentado, yo también le compro a Mirax).

--Edu 11:11 26 mar 2008 (ART)


estoy estudiando el mòdulo y el integrado. Estoy sacando cuentas a ver cómo es que funciona esto. Tendré que ponerme también a leer algunos detalles que no conozco del BS2. Igual estimo que en principio no usaremos este módulo con un BS2. Tengo todavía que armar todo para hacer un banquito de pruebas que sirva para probar encoders o lo que sea. --Adrian S.A. 11:31 26 mar 2008 (ART)


A ver si estoy bien...
parado en La Tierra mi cuerpo está sometido a una aceleración de 1G, digamos en la dirección de Z (me guío por el dibujo del datasheet del H48C). Si salto desde muy alto y entro en caída libre mi cuerpo está sometido a 0G. En caída libre, con este circuito encima, tendré una lectura (de un pulso) en la pata 19 (ZeroG). De nuevo, en el piso tendré una lectura de 1G en el sentido de Z. La señal ZeroG envía un pulso por cada vez que entro en 0G en los 3 ejes. Debo sacarlo de 0G y volver a entrar para que me vuelva a enviar un pulso. Quería comentarles esto.

Sigo leyendo...

--Adrian S.A. 14:28 26 mar 2008 (ART)


Las steadycams de alto precio creo que trabajan con esta tecnología. Las de bajo precio creo que son mecánicas.
Por otro lado...La wiimote no tiene un acelerómetro adentro??  :)

--Adrian S.A. 14:43 26 mar 2008 (ART)


Bueno, si esa señal lo que mide es caída libre no nos interesa (bueno, excepto para detectar una GRAN emergencia), pero el valor de reposo lo obtenemos monitoreando los valores de los tres ejes con un microcontrolador, de hecho, ésa es una de las cosas que hará el módulo de equilibrio. Si los valores se mantienen, el sistema está en reposo. Si hay una variación, se mide la velocidad de la variación y con eso se obtiene el movimiento.

--Edu 14:50 26 mar 2008 (ART)


Hay una cosa que es importante, estar en equilibrio NO significa no tener movimiento, podes estar quieto o podes estar moviendote con velocidad constante. para que no estemos en equilibrio el cuerpo debe estar acelerando o desacelerando, y entonces habra fuerza resultante aplicada que es la que produce la variacion de la velocidad. un comentario...

--Mastromec 19:09 26 mar 2008 (ART)


El módulo de equilibrio recibe los datos de movimiento de los módulos del área motora. Estos datos le informan los movimientos que se esperan en el sistema. Si nos guiásemos sólo por eso, seguro el robot se caería. Pero además de los movimientos que está haciendo --los movimientos ordenados y los movimientos logrados por los servos-- vamos a tener información de la evolución del movimiento real del CG, donde estará el inclinómetro-acelerómetro. ¿Resultante? Aceptando una tolerancia de desviación que le pongamos, detectaremos diferencias entre lo que se calculó y fue ordenado y el movimiento real, y le avisaremos a la unidad central del robot. Y si la desviación que se detecta es grave y rápida, podemos mandar comandos de emergencia (reflejos) directamente desde el módulo de equilibrio a los módulos del área motora para compensar y salvar la situación como se pueda, o proteger al menos al robot cuando la caída sea imposible de detener.

--Edu 19:51 26 mar 2008 (ART)


Imagen:H48.gif

(Todos estos son datos que estoy sacando de las hojas de datos)
El módulo que se está probando vía el BS2, (el cual muestra las lecturas por pantalla) está , según las lecturas, paradito y quieto en la mesa, por decirlo de alguna manera. El h48 está tal como el dibujo del datasheet.
Se puede leer el 1G en el eje Z.
Vdd es 3.3 V (el 3.3 de la fórmula). Vref es la mitad de Vdd (1.647Volts en la pantalla azul). Es la relación 4095 a 2045. La resolución de 12 bits son 4096 números desde el 0 al 4095. 2 elevado a la 12=4096.


--Adrian S.A. 22:42 26 mar 2008 (ART)


Tendrá Arístides los componentes necesarios para comprárselos y hacer pruebas con esto? Me parece que le voy a hacer un pedido.

--Adrian S.A. 11:09 27 mar 2008 (ART)


Yo los tengo, como ya dije. Seguramente vos también los podrás comprar.

--Edu 20:03 27 mar 2008 (ART)


Si funcionan exactamente como creo, me parece que podemos replantear o implementar algún tipo de posicionamiento de las partes del robot como un todo, de otra manera. O al menos de forma paralela.

Imagen:Conjunto-inclino.gif

En teoría hay una relación entre el ángulo del brazo (figura B) y los valores de/l el/los inclinómetros (al menos en el plano ZX, donde está montado este dibujo, con un solo grado de libertad). Es decir, se puede montar un sistema móvil compuesto de muchas partes y uniones mecánicas y "vestirlo" con un traje de inclinómetros.
Este sistema daría un conjunto de valores que se puede adaptar de tal forma que nos sirva para manejar el equilibrio del móvil. Hacer algo así como un "modelado" con la información recibida.
Y casi que, me animo a decir, no necesitaríamos de tantos encoders... (es una idea intuitiva, nada mas).

De paso miren el H30CD ..... tiene, entre otras cosas I2C. Y no es un módulo. Está todo integrado.  :)

Por otro lado, el datasheet de este otro acelerómetro (H34C) tiene incorporado este gráfico que muestro a continuación. Es muy instructivo:

Imagen:H34-output-to-static-accel.gif


--Adrian S.A. 20:24 27 mar 2008 (ART)


Como complemento, y para agregar información, no estaría de más agregar inclinómetros para tener más información del sistema. Hay que considerar que agrega costo monetario y de procesamiento.

Pero no creo que puedan reemplazar encoders. Hay un par de problemas: creo que no son precisos (la salida no tiene buena resolución, a mi entender, fijate que la variación de salida en cambios realmente grandes de posición, como 90º, es muy poca) y la inercia afecta todo el tiempo sus mediciones, como para convertirlas con facilidad en ángulos.

De todos modos, experimentar no estará de más.

Los módulos de Parallax (que puede proveer Aristides) cuestan us$ 60.

--Edu 13:01 28 mar 2008 (ART)