Módulo de equilibrio
(Diferencia entre revisiones)
Revisión de 23:24 27 mar 2008 Adrian (Discusión | contribuciones) ← Ir a diferencia anterior |
Revisión de 02:22 28 mar 2008 Adrian (Discusión | contribuciones) Ir a siguiente diferencia → |
||
Línea 110: | Línea 110: | ||
--[[Usuario:Edu|Edu]] 20:03 27 mar 2008 (ART) | --[[Usuario:Edu|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. | + | 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.<br> |
- | <br>--Adrian S.A. 20:24 27 mar 2008 (ART) | + | |
+ | [[Imagen:Conjunto-inclino.gif]] | ||
+ | |||
+ | |||
+ | --Adrian S.A. 20:24 27 mar 2008 (ART) | ||
---- | ---- | ||
Revisión de 02:22 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:
- Ángulo de las articulaciones
- Movimiento que se está realizando en el momento
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:
Tembién tengo este, de dos ejes
--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)
(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.
--Adrian S.A. 20:24 27 mar 2008 (ART)