Robots modulares con módulos Y1 por el mundo

3 views
Skip to first unread message

Juan Gonzalez

unread,
Aug 8, 2010, 5:59:58 AM8/8/10
to skyl...@googlegroups.com
Hola,

Estoy recopilando enlaces de gente que ha construido robots modulares
con los módulos Y1. Aquí os paso algunos enlaces:

* Prototipos de Kirsty Boyle: http://www.onnai.com/art/fragment/

* Módulo Y1 de Francisco Reinoso (furri): http://www.xbot.es/blog/?p=410

* Robot QUETZALCOATL (clon de cube revolutions):

http://www.youtube.com/watch?v=nIjwgpjZK2I

http://www.youtube.com/watch?v=c2CFhHvcfuY

* Robot ALTIUS (Clon de Cube Revolutions):

http://www.youtube.com/watch?v=Jvy9tbnEt9w

http://www.youtube.com/watch?v=IQgiKLFd-Bk

* Robot Miri-ápodo (clon de Cube Revolutions):

http://www.youtube.com/watch?v=LsxfFlc8bTg

* Robot RodrigoRom

http://www.youtube.com/watch?v=RKkvoprFxAw

* Robot ápodo 4:

http://www.youtube.com/watch?v=25Ov1-HVSPk

http://www.youtube.com/watch?v=era7OVnLnZI

* Robot ápodo giro:

http://www.youtube.com/watch?v=hr54f_0DZx4

* Robot Guss:

http://www.youtube.com/watch?v=p_MHs3Ft2rY

* R3P-Bot:

http://www.youtube.com/watch?v=ZKJkyiQK1dw

http://www.youtube.com/watch?v=ZRxuCEgMnY0


Saludos, Juan

--
Blog: www.iearobotics.com/blog
Web: www.iearobotics.com/juan

Miguel Angel

unread,
Aug 13, 2010, 10:50:26 AM8/13/10
to skyl...@googlegroups.com
Hola estoy aprendiendo acerca de los robots modulares, sobre todo como se
mueven y el tipo de control que tienen. Por lo que he podido deducir de los
programas micro osciladores 0.3, me surge la siguiente duda:

-sg-oscillator.c : Servidor de oscilaciones, genera los movimientos desde el
PC? Que soft de control se usa en el PC?
-sin.c: Calculo de la función seno, que hace exactamente?

-servos.c: Generación de PWM para posicionamiento de servos, genera los pwm
de los servos. No?

-oscillator-pn.c: Movimiento de configuraciones del grupo cabeceo-cabeceo
-oscillator-py.c: Movimiento de configuraciones del grupo cabeceo-viraje,
qué relación tienen con el programa seno?, como puedo generar yo mi
propio movimiento?

No se dónde puedo obtener más información, sobre los movimientos de los
robots.


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 5232 (20100627) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

Juan Gonzalez

unread,
Aug 15, 2010, 6:54:11 AM8/15/10
to skyl...@googlegroups.com
Hola Miguel Ángel,

El software micro-osciladores es experimental y está cambiando
constantemente. Pero te cuento cómo lo puedes utilizar para controlar al
robot Minicube-I (programa test-PP1.c). El robot minicube-I también se
conoce por el nombre de configuración PP (pitch-pitch, cabeceo-cabeceo
en inglés). Es una configuración formada por dos módulos que cabecean.

El "API" que ofrece el programa micro-osciladores son los valores que
se aplican a los osciladores. Cada uno de los dos módulos están
oscilando. Según los valores que se den a los parámetros conseguiremos
un tipo de movimiento u otro.

Para mover el robot sólo te interesan las siguientes constantes:

A: Amplitud de las oscilaciones
INC: Frecuencia de oscilación
DF: diferencia de fase entre dos osciladores consecutivos

v --> Variable que indica dónde están conectados los módulos a la
tarjeta Skycube

Te propongo el siguiente experimento:

1)
Modifica la variable v para que contenga los servos correspondientes a
tu robot. Por ejemplo, si los has conectado a los servos 2 y 4 de la
Skycube, su valor debería ser:

unsigned char v[9]={0, 2, 4, 0, 0, 0, 0, 0, 0};

Compila, descarga y comprueba cómo se mueve el robot.

2) Ahora juega con el parámetro frecuencia. Cambia el valor INC a 3.
Compila, descarga y observa lo que pasa. Ahora ponlo a 10 (o valores
mayores...)

3) Pon INC por ejemplo a 4 y juega con el valor de A
Pon valores de A iguales a 20. Luego valores iguales a 80.

4) Pon INC a 4 y A=45. Ahora juega con los valores de DF. Este es el
parámetro clave que define la coordinación entre los módulos.

Observa lo que pasa cuando DF=0. Ahora vete al extremo contrario y pon
DF=180. Los valores correctos que hacen que el movimiento esté bien
coordinado están entre 100 y 150 grados. Prueba qué pasa con valores de
50, 60, etc... Según se acercan a los mencionados anteriormente el
movimiento está cada vez mejor coordinado.

5) Ahora juega combinando todos los efectos: A, INC y DF.


----------------------------------
Por tanto, la idea de micro-osciladores es que el programa del usuario
simplemente cambie estos valores y se despreocupe de cómo está
implementado. A continuación te cuento un poco los diferentes programas
en .c que he desarrollado para implementar estos osciladores:

-> oscillator-pn.c, como has averiguado, contiene las funciones para
trabajar con cadenas de módulos con conexión cabeceo-cabeceo.

-> servos.c--> Efectivamente, genera la señal PWM de los servos mediante
interrupciones. El nivel superior (oscillator-pn) calcula las posiciones
de los servos a partir de la ecuación de un seno:

pos = A*sin(fase)

-> sin.c --> Es para calcular la función seno a partir de tablas. En el
compilador SDCC v.2.9 o anteriores hay un bug en la función sin, y no se
calcula bien su valor. Por eso tuve que implementarlo yo mismo mediante
tablas. Pero al fin y al cabo se trata de una funcion seno. f =
A*sin(ang).


El programa sg-oscillator.c se usa para controlar las oscilaciones desde
el PC. El programa de pruebas está en el mismo paquete de los
micro-osciladores (en la carpeta PC). Todavía está en desarrollo. En
este vídeo puedes ver cómo funciona:


http://www.youtube.com/watch?v=PnMehYqtwTY


Saludos, Juan

Miguel Angel

unread,
Aug 30, 2010, 12:11:39 PM8/30/10
to skyl...@googlegroups.com
Hola Juan estoy intentando mover con la skycube un servo a una posición y
dejarlo hay, se podría? O solo funciona con la función seno, es decir solo
genera movimientos o puedo mover un servo a una posición.

-----Mensaje original-----
De: skyl...@googlegroups.com [mailto:skyl...@googlegroups.com] En nombre
de Juan Gonzalez
Enviado el: domingo, 15 de agosto de 2010 12:54
Para: skyl...@googlegroups.com
Asunto: RE: Robots modulares con módulos Y1 por el mundo

Hola Miguel Ángel,

pos = A*sin(fase)


http://www.youtube.com/watch?v=PnMehYqtwTY


Saludos, Juan

--
Has recibido este mensaje porque estás suscrito al grupo "Skylist" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
skyl...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a
skylista+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/skylista?hl=es.

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5376 (20100818) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5384 (20100821) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5396 (20100825) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5409 (20100830) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5409 (20100830) __________

Miguel Angel

unread,
Aug 31, 2010, 5:13:17 AM8/31/10
to skyl...@googlegroups.com
Hola juan me he puesto a cambiar los valores A, DF, INC, pero se comporta
siempre igual donde les tengo que cambiar el valor, porque no me hace caso.

-----Mensaje original-----
De: skyl...@googlegroups.com [mailto:skyl...@googlegroups.com] En nombre
de Juan Gonzalez
Enviado el: domingo, 15 de agosto de 2010 12:54
Para: skyl...@googlegroups.com
Asunto: RE: Robots modulares con módulos Y1 por el mundo

Hola Miguel Ángel,

pos = A*sin(fase)


http://www.youtube.com/watch?v=PnMehYqtwTY


Saludos, Juan

--

Has recibido este mensaje porque estás suscrito al grupo "Skylist" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
skyl...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a
skylista+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/skylista?hl=es.

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 5376 (20100818) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5384 (20100821) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5396 (20100825) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5409 (20100830) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5410 (20100830) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas

de virus 5410 (20100830) __________

Juan Gonzalez Gomez

unread,
Aug 31, 2010, 11:46:23 AM8/31/10
to skyl...@googlegroups.com
Hola,

El 30 de agosto de 2010 18:11, Miguel Angel <maberna...@gmail.com> escribió:
Hola Juan estoy intentando mover con la skycube un servo a una posición y
dejarlo hay, se podría? O solo funciona con la función seno, es decir solo
genera movimientos o puedo mover un servo a una posición.

Sí, claro que se puede. Prueba este ejemplo del curso de programación en C:
 
http://svn.iearobotics.com/Curso_pic/PIC16/v1.0/Modulo8-servos/ejemplos/servo8-int.c

Fíjate en el programa principal: Si pones pos[0]=45, el servo 1 se moverá a la posición 45 grados (tendrás que hacer una pausa para esperar a que la alcance).

Todo el código para mover los servos se encuentra en el fichero servos.c de micro-osciladores

Saludos, Juan

Juan Gonzalez Gomez

unread,
Aug 31, 2010, 11:48:46 AM8/31/10
to skyl...@googlegroups.com
Hola,

  Sí. Depende del ejemplo que uses. Por ejemplo en el programa  test-PP1.c cambia el valor de A a 20 grados, compila y ejecuta. Se moverá de manera diferente.

Saludos, Juan

Miguel Angel

unread,
Sep 1, 2010, 9:23:39 AM9/1/10
to skyl...@googlegroups.com

Hola juan lo he cambiado aquí, pero sigue igual. No se si esque toma otro valor en otra parte del programa.

 

/-- Velocidad de fase

#define INC 4

 

//-- Amplitud (en grados) (0-90)

#define A 20 *************************************************

 

//-- Diferencia de fase (en grados) (-180 a 180)

#define DF 120

 

//--Fase inicial de los servos (en grados) (0-360)

#define FASE0 0

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5411 (20100831) __________

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5411 (20100831) __________

Miguel Angel

unread,
Sep 1, 2010, 9:53:54 AM9/1/10
to skyl...@googlegroups.com

Hola juan, ya esta solucionado ha sido por que al guardar el programa hay que darle a guardar todo (icono de varios disquetes), y no al de guardar solo, no se porque pero al guardar asi si que cambia el programa y se compila bien, que tontería he jeje, pues me ha tenido todo el fin de semana.

 

saludos

 

De: skyl...@googlegroups.com [mailto:skyl...@googlegroups.com] En nombre de Juan Gonzalez Gomez


Enviado el: martes, 31 de agosto de 2010 17:49
Para: skyl...@googlegroups.com

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5411 (20100831) __________

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5411 (20100831) __________

Miguel Angel

unread,
Nov 15, 2010, 9:41:27 AM11/15/10
to skyl...@googlegroups.com

Por fin he montado los 5 modulos que me faltaban, para completar el robot modular de 8 modulos. Y pronto le modificare algunas cositas, asi como añadirle sensores y comunicacion RF. Pero de momento ya camina sin romperse ningun modulo. Gracias Juan por la ayuda prestada para entender los movimientos del programa.

Robot completo:

http://3.bp.blogspot.com/_h1cImBXxmIw/TN6hfDydWUI/AAAAAAAAAKg/_s2zWmdixtI/s320/PB130052.JPG

 

Comparativa con un bote de cerveza:

http://1.bp.blogspot.com/_h1cImBXxmIw/TN6hfjfX-_I/AAAAAAAAAKk/Bs9riqn7kAs/s320/PB130053.JPG

 

Detalle de la bateria de Lipo, y el regulador de 5v:

http://3.bp.blogspot.com/_h1cImBXxmIw/TN6hf451e-I/AAAAAAAAAKo/TJw6rzMHD3Y/s320/PB130054.JPG

 

He colgado un video para que veais el movimiento.

http://www.youtube.com/watch?v=LWsSeq0ihXk

 

image001.jpg
image002.jpg
image003.jpg

Juan Gonzalez Gomez

unread,
Nov 15, 2010, 10:29:55 AM11/15/10
to skyl...@googlegroups.com
Espectacular!!!!!!!!!

  Te ha quedado genial!!!!  :-)

  Te voy a pasar los valores de los osciladores para hacer el movimiento de desplazamiento lateral. De  memoria no lo recuerdo.

Saludos, Juan

--
Has recibido este mensaje porque estás suscrito al grupo "Skylist" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a skyl...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a skylista+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/skylista?hl=es.



--
Página personal: http://www.iearobotics.com/juan
Blog: http://www.iearobotics.com/blog/

image003.jpg
image001.jpg
image002.jpg

Miguel Angel

unread,
Nov 15, 2010, 5:45:27 PM11/15/10
to skyl...@googlegroups.com

Ok, quiere hacer para controlarlo haber si tengo tiempo y publico algo.

image001.jpg
image002.jpg
image003.jpg
Reply all
Reply to author
Forward
0 new messages