Autor Tema: Robot equilibrista  (Leído 303376 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
Re: Robot equilibrista
« Respuesta #45 en: 05 de Julio de 2006, 08:19:47 »
Gracias por tus consejos y comentarios, Mario.

Es cierto que estos motores tienen holgura, pero me temo que el problema del equilibro en mi caso no está en esa holgura, sino en el error que se introduce a la lectura de la aceleración de la gravedad como consecuencia del movimiento.

Estoy ideando un algoritmo que minimice este efecto utilizando los dos ejes del acelerómetro, pero aún no me ha dado tiempo de terminarlo. Espero que vaya algo mejor.

Si no lo consigo, tendré que estudiar el cambiarlos por servos, pero de momento seguiré probando con esos conjuntos de motores y ruedas.

Totalmente de acuerdo en que un giroscopio es lo mejor, pero por el momento lo voy a intentar sin gastarme pasta, utilizando cosas que tenía por aquí.

Y también totalmente de acuerdo que el robot debe permanecer vertical en estado de reposo, con el centro de gravedad en el centro del eje. De hecho, mis baterías también son desplazables para ayudar a conseguirlo.

Con respecto al nombre :D , a mí me gusta "equilibrista" y no me parece despreciativo. Pero tú puedes poner el nombre que quieras cuando postees, faltaría mas. Por cierto, ahora que lo pienso, jeje, un "tentempié" es lo que me voy a meter entre pecho y espalda en unos minutos, jaja. Supongo que querías decir un "tententieso".

Desconectado ramon

  • PIC10
  • *
  • Mensajes: 7
Re: Robot equilibrista
« Respuesta #46 en: 05 de Julio de 2006, 09:20:42 »
El proyecto es una maravilla, pero tengo una preguntilla. No seria mejor intentar ponerr el centro de gravedad lo mas abajo posible, que aunque la intencion es mantener el equilibrio si se bajara el entro de grabedad mas abajo, las inclinaciones seria menos "agresivas" porque no es lo mismo sostener una escoba que una fregona con el cubo y con mas peso arriba. 

Un saludo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
Re: Robot equilibrista
« Respuesta #47 en: 05 de Julio de 2006, 09:37:16 »
Claro, pero entonces dejaría de ser un "Péndulo invertido" para convertirse en un "Péndulo".

Es más fácil de hacer, pero ya no tiene sentido ni la electrónica, ni los PIC ni nada...  :D

Desconectado ramon

  • PIC10
  • *
  • Mensajes: 7
Re: Robot equilibrista
« Respuesta #48 en: 05 de Julio de 2006, 10:48:55 »
 :D :D :D la verdad esque si    :D :D :D :D

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: Robot equilibrista
« Respuesta #49 en: 05 de Julio de 2006, 12:13:48 »
Pues parece que en el protoboard me funciona  :-/ el acople con fotodiodos, ahora hay que pasarlo al pendulo y ver que sucede, a proposito nocturno ayer revisando unos apuntes en algun momento de la Universidad construi un sensor de inclinacion, y encontre los apuntes de el, pero no es aplicable a un pedulo con barra libre, sino unicamente a un carro de dos ruedas, como el que tu estas construyendo, el circuito esta basado en un medidor de distancia con 2 pares de Infrarojos que de acuerdo a la distancia existente entre la parte mas baja del carro y el piso da un nivel de voltaje, y si la inclinacion es hacia la derecha o izquierda se obtiene de la resta utilizando un 741, era bastante bueno.
Casi me maté pero ahora estoy de nuevo vivo

Desconectado Flugplatz

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 279
    • Mi canal de YouTube
Re: Robot equilibrista
« Respuesta #50 en: 05 de Julio de 2006, 12:14:15 »
.... Por cierto, ahora que lo pienso, jeje, un "tentempié" es lo que me voy a meter entre pecho y espalda en unos minutos, jaja. Supongo que querías decir un "tententieso".

 :D :D :D :D

Ufff ... es que tentetieso también me suena fatal ...  :shock: ... con lo de ir en el metro, las ropitas de verano de las hommo sapiens, y los aires acondicionados ... Buff .... malo me estoy poniendo  :mrgreen: :mrgreen: :D :D

Ramón, lo del péndulo invertido, es cuestión de altura. Si la masa principal está muy alta con respecto al punto de apoyo, los movimientos son muy suaves y controlables. En cualquier caso, esto es un hobby, y se trata de pasar el rato  :)  y mantener la neurona activa.

Manolo, supongo que el Memsic y el tuyo funcionan de forma parecida, un puso de anchura variable en función de la inclinación. Ese algoritmo seguro que es interesante ... y mi famosa precisión imprecisa seguro que es clave.
Mi canal de YouTube

Un saludo desde Madrid

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
Re: Robot equilibrista
« Respuesta #51 en: 05 de Julio de 2006, 12:26:30 »
No sé cómo será el memsic, pero si te sirve el algoritmo, en cuanto compruebe que funciona lo cuelgo.

Patolinec, lo de los infrarrojos es mi plan B si no consigo hacerlo con el acelerómetro, así que seguro le echo un vistazo.

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: Robot equilibrista
« Respuesta #52 en: 05 de Julio de 2006, 12:34:55 »
Maldicion, me han clavado una espinita y apenas acabe mi pendulo invertido analogico empezare con uno controlado por DSPIC y aghi les cuento
Casi me maté pero ahora estoy de nuevo vivo

Desconectado GustavoT

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 102
Re: Robot equilibrista
« Respuesta #53 en: 05 de Julio de 2006, 20:48:13 »
Alguien dujo por ahí que seria mas fácil colocar el centro de gravedad lo mas bajo posible, bueno no, lo que pasas que el péndulo tiene pívot en el punto donde tocan las ruedas con el piso, todo péndulo tiene un radio y una masa, a los efectos de simplificar el estudio suponemos que toda la masa se encuentra alojada en el punto ese que llamas centro de gravedad.(es totalmente legar)
Bien redondeando tenemos radio y masa,  ahora si ese radio es largo.......  nuestro sistemas tiene un momento de inercia grande, si es corto tenemos momento de inercia, si claro, chico, ahora momento de inercia tiene el mismo concepto que masa que estudiamos en física 1, por lo que si hay menos masa hay mas aceleración (newton no se puede equivocar) por lo que el sistema se nos escapa mas rápidamente.
Vayan y busquen una escoban.... ya la tiene muy bien, no no no... no me mientan no buscaron nada la escoban VAYAN
Bien armen un péndulo invertido con el mango para arriba,.,.. ahora con las pajas para arriba ... y pueden ver la diferencia.. espero que si

Mucha suerte, para estudiar el péndulo invertido generalmente no se usa un robot, sino un carro que mueve el péndulo sobre un riel , pero claro mas entretenido es el robots

Saludos Gustavo T
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.   Albert Einstein

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Robot equilibrista
« Respuesta #54 en: 09 de Julio de 2006, 13:28:52 »
Hola Nocturno:

Respecto al diagrama del cargador de baterías que publicaste, no sé si sabrás que apareció en el ejemplar de septiembre de la revista Elektor (página 52). Incluyen un artículo en el que explica su funcionamiento.

Ánimo con tu robot; me parece muy interesante.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Robot equilibrista
« Respuesta #55 en: 09 de Julio de 2006, 13:39:55 »
GustavoT lo que comentas sobre masa e inercia, no es cierto. Masa e inercia no son lo mismo, ni remotamente parecido. La inercia es una propiedad de la masa que hace que esta no cambie de estado (de reposo a movimiento y viceversa). Efectivamente si ponemos un peso a una varilla y lo cogemos por el extremo contrario a la masa, el momento de inercia aumenta, con lo cual será mas facil de mantener el equilibrio que si no tuvieramos masa. La demostración es bien facil, basta intentar mantener en equilibrio un martillo por el mango y el mismo mango sin la parte metálica.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
Re: Robot equilibrista
« Respuesta #56 en: 09 de Julio de 2006, 14:52:44 »
Gracias por el apunte, jfmateos, a ver si pillo la revista en el kiosko.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Robot equilibrista
« Respuesta #57 en: 09 de Julio de 2006, 15:36:53 »
Si no la tienen en tu kiosko, quizás pueda pedírtela en el mío (es en la versión en castellano). :mrgreen:
Por cierto, en tu vídeo del acelerómetro me pareció que éste no respondía demasiado rápido a los cambios de inclinación. Es sólo una apreciación; no hace falta que me contestes. Este agosto le dedicaré algo de tiempo a recordar la dinámica del péndulo invertido (la tengo ya muy olvidada) y quizás pueda hablar con más propiedad. El proyecto me parece muy interesante porque llevo poco tiempo con los PIC y me resulta alucinante que permitan integrar un problema en tiempo real. Lo dicho: mucho ánimo... y cuando acabes con éste a ver si te atreves con uno con una sola rueda (monociclo)

Desconectado GustavoT

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 102
Re: Robot equilibrista
« Respuesta #58 en: 10 de Julio de 2006, 09:43:14 »
Sin animo de polemizar, yo lo que dije fue que "momento de inercia tiene el mismo concepto que masa que estudiamos en física 1", nunca me refería exclusivamente a la inercia

Para ser mas claro, "momento de inercia" tiene en movimiento circular  una correlación directa con la "masa" en movimiento rectilíneo, esta todo en la ley de newton para movimiento circular, "Troqué es igual a Momento de Inercia por Aceleración Angular"

Y si lo pienso bien esto de movimiento circular también se estudia en física 1

Saludos

PD: uno de estos días deberíamos organizar un campeonato de ajedrez
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.   Albert Einstein

Desconectado Flugplatz

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 279
    • Mi canal de YouTube
Re: Robot equilibrista
« Respuesta #59 en: 11 de Julio de 2006, 09:58:05 »
Hola ... tengo un ligero problemilla  :?

Por motivos que no vienen al caso, he decidido usar la versión demo del MikroBasic ...

Es un poco derrochón y le faltan algunas cosillas, pero por lo demás está bien. Como lo que importa aquí son los algoritmos, pues si es necesario, ya lo  pasaré a otra plataforma.

De todas formas, el problema no es con el compilador, es con mi sensor de inclinación Memsickit de Parallax.

No se si es un problema del chip Memsic o de la placa de prototipos, pero me hace una cosa un tanto puñetera. Manolo, me gustaría que me dijéras si a tí te pasa con el adxl, o es que esto del Memsic es una porquería, ya que electrónicamente lo he montado como en todos los sitios que he visto en la WEB.

Quizas me he pasado con la velocidad de proceso obsesionado por la precisión. El caso es que he utilizado el timer1 para medir la anchura del pulso, y para que no haya imprecisiónes en instrucciónes preprogramadas del compilador, tipo 'pulsin', le he incrustado el código en ensamblador. Si observáis en el código parece que sobran cosas, pero tanta historia es para asegurarme de que estoy leyendo un pulso positivo puro y entero.

El problema que tengo es que cuando el timer1 solo debería variar cuatro arriba o cuatro abajo, según haga o no el último bucle, en realidad el valor que me devuelve no para quieto, pegando saltos de 20 o 30 unidades. Puede ser que sea ruido en la alimentación, o que el mismo chisme no de para más. Evidentemente, dividiendo el valor entre 100 p.e. aquello no se mueve, pero disminuye mucho la precisión de la medida. Ahora mismo no recuerdo, pero a 40 Mhz, creo que el valor del Timer1 está entorno a 12000, con lo cual, en cuanto empezemos a dividir, la precisión deja bastante que desear.

También he hecho la prueba de los 30 pavos; como tengo dos Memsickit, pues he probado con los dos, y los dos se comportan igual.

Aquí teneis el código ... pero podéis obviar todo lo que tiene que ver con las variables i y j ... suelo poner este tipo de cosas en mis programas para verificar que el procesador está rulando.

Código: [Seleccionar]
'***************************************************************
' Microcontrolador PIC18F452
' Reloj a 40Mhz en modo HSPLL
' (la función WordToStrWithZeros solo funciona con 18Fxxx)
'***************************************************************
program prueba_lcd

dim j as word
dim i as word
dim pw as word
dim txt as string[6]

main:
     delay_ms(100)
     Lcd_Config(PORTC,1,0,2,7,6,5,4)
     Lcd_cmd(LCD_CURSOR_OFF)
     Lcd_cmd(LCD_CLEAR)
     j=0
     i=0
     ADCON1 = 7
     PORTA = 0
     TRISA = %11111110
     PORTB = 0
     TRISB = %11111111
bucle:
     asm
        movlw $00
        movwf T1CON
        clrf TMR1H
        clrf TMR1L
bucle1:
        btfsc PORTB,7
        goto bucle1
bucle2:
        btfss PORTB,7
        goto bucle2
        movlw $21
        movwf T1CON
bucle3:
        btfsc PORTB,7
        goto bucle3
        movlw $00
        movwf T1CON
     end asm
     pw = (TMR1L + (TMR1H * 256))/4
     WordToStrWithZeros(i,txt)
     Lcd_out(1,1,txt)
     WordToStrWithZeros(j,txt)
     Lcd_out(1,6,txt)
     WordToStrWithZeros(pw,txt)
     Lcd_out(2,1,txt)
     j=j+1
     if j = 0 then
        i = i + 1
     end if
     delay_ms(100)
     goto bucle
end.

Por cierto Manolo, aunque tu eres un tipo con coco :mrgreen: y es casi seguro que hayas llegado tambien a esta conclusión, te lo pongo por si acaso. Coge la escoba y piensa ... ¿que es lo que se tiene que mantener quieto? ... evidéntemente; el cepillo ... o sea, que el sensor de inclinación tiene que estár lo más cerca posible del peso superior y lejos de la base, que es la que se tiene que mover en sentido longitudinal para mantener el equilibrio. Aunque yo voy más retrasado y todavía no lo he montado en el BOT, creo que si el sensor está pegado a la batería (en el cepillo), de momento, solo te tienes que preocupar de mantenerlo horizontal. Cuando haya que andar, otro gallo nos cantará, pero para mantener el equilibrio, pues según he deducido, debería ser mejor.

un saludo
Mario
« Última modificación: 11 de Julio de 2006, 10:08:50 por Flugplatz »
Mi canal de YouTube

Un saludo desde Madrid