Microbot jugador de fútbol

Hola!
Pues bueno, se me ha ocurrido abrir este hilo después de ver en la tele un anuncio de un coleccionable para hacer un microbot :D . Aqui teneis las fotos del engendro que construimos en mayo del 2003: Fotos del microbot Las fotos son bastante cutrillas, pero es q la camara era malilla y era la primera vez q usaba una cámara digital [snif] .
Bueno, pues lo que tenia que hacer nuestro robot (lo hicimos un grupo de 3 personas) era jugar al futbol. Es decir, nosotros lo soltabamos en el centro de un campo de futbol pintado en un suelo blanco con los bordes negros, y el robot de forma autónoma se orienta, recorre el campo hasta encontrar la pelota, una vez encontrada va a por ella, encara a la porteria y lleva la pelota hasta marcar gol [pos eso] .
Para quien quiera saber como lo hicimos en la práctica, usamos dos sensores de infrarrojos para distinguir el blanco y el negro y que pudiera seguir una linea negra por un suelo blanco, esos 2 sensores puestos en el morro del robot mirando hacia el suelo. Luego pusimos otro sensor de este mismo tipo en una rueda pintada a franjas blancas y negras para tener una forma de saber cuanto habia avanzado el robot (para convertir los motores d continua a funcionamiento paso a paso), y por último usamos un sensor de distancia en el lateral izquierdo del robot, que es el encargado de encontrar la pelota, el robot va avanzando por el borde del campo hasta que ese sensor "ve" la pelota, una vez vista, el robot comienza una rutina para ir a por ella. Y tb un último sensor en el frontal del robot para que supiera cuando se habia encontrado con la bola de frente.

Pues eso, que os parece? Nos costo hacerlo 1 mes de pensar y 2 semanillas de programar, montar y probarlo. Si a alguien de por aqui le gusta el tema o ha hecho algo parecido, que lo comente y compartimos experiencias [oki]

Un saludo [beer]
Realmente suena interesante. Este año me pillaré la de Sistemas Digitales, pero por lo que me han dicho, nada de rabots en las prácticas :-(

Una preguntilla, que fue lo más chungo de programar (los algorismos sobre el papel)
con el mindstorms de lego se podían hacer esas cositas ;)

El caso es que lo vendí, porque para programar me iba sobrao, pero eso de construir un cochecito con ruedas y que no se desmoronase a la pimera de cambio...pues como que no XD.

Saludos.

Por cierto en la página de lego hay un simulador en flash muy cachondo del mindstorms, por si os entra el mono podeís trastear un rato con el ;)

Saludos.
Escrito originalmente por billyberjas
¿Qué estudia quien? XD



Det_W.Somerset, porque no se me ocurre en que carrera se hacen ese tipo de practicas. Supongo que sera en alguna ingenieria, pero no sabria decir en cual.
Escrito originalmente por nitro_x86
Realmente suena interesante. Este año me pillaré la de Sistemas Digitales, pero por lo que me han dicho, nada de robots en las prácticas :-(

Una preguntilla, que fue lo más chungo de programar (los algorismos sobre el papel)


Pues nosotros tuvimos q hacer el robot precisamente en Laboratorio de Sistemas Digitales. En cuanto a que fue lo más chungo de programar... pues verás, lo chungo es saber que es lo que quieres programar, pq si te digo la verdad variamos el programa como 50 veces en 1 semana, nunca quedaba bien del todo, y cuando parecia q estaba bien, lo probabamos y no funcionaba bien o directamente no funcionaba. A mi me tocó más bien depurar los algoritmos (me dieron una versión preliminar y yo iba buscando fallos y corrigiendo) y luego sobre todo las pruebas físicas con el robot. La parte de programación en general es la más fácil, aunque hubo gente que se partio más el coco q nosotros para condensar todo el programa en 512 bytes q era el tamaño d la ROM interna del microcontrolador HC11, q es el cerebro del robot. Nosotros tuvimos que dividir el codigo en 2, pq nos salia un programa de unos 800 bytes :-(

que estudias???


Estudio Ingenieria de Teleco en la UMA, y esta asignatura la dimos en 3º. Los de la técnica la dan en segundo, creo [oki]

Y para el q comentaba lo de Lego, el robot no lo construimos nosotros desde cero, nos dieron un armazón básico de Lego al que le añadimos los ganchos que se pueden ver para que no se le escapara la pelota (uno a modo de garfio sirvió, pq nuestro robot solo giraba hacia la izquierda).

Cuando termine los examenes y tenga tiempo a ver si subo un par de videos q grabe del robot funcionando, para q os hagais una idea d como va (bastante cutrillos, pero en fin [+risas] )

Pos venga gente, un saludo [beer]
Entonces todo en el ensamblador del HC11... se parece al del 8086?
Escrito originalmente por nitro_x86
Entonces todo en el ensamblador del HC11... se parece al del 8086?


Pues... se tendra q parecer algo pq ambos son ensambladores y solo tienen instrucciones muy sencillas, pero el HC11 es un Motorola 68000 "capado", con menos registros y tal, cuando a mi me lo enseñaron me contaron que el ensamblador del 68020 (q es el q me enseñaron) es el más didáctico.
De todas formas, lo q comentabas antes de que fue lo más dificil: uno d los palos más grandes q nos llevamos fue cuando teniamos escrito el codigo entero y al final nos dimos cuenta de que solo teniamos 2 registros de propósito general... y para sumar por ejemplo no se le puede decir "suma a, b" y q te lo guarde en otro lado, sino q hay una instrucción q es SUMAA que suma lo q haya en un registro auxiliar y lo q hay en el registro A... cuando te quieres dar cuenta dices: joder, pero donde guardo yo los resultados parciales?? me faltan registros!! Oooh Y al final tuvimos q replantear para q se ajustara a una especie de paradigma push-pop (como si se usaran pilas).

Un saludo
Por cierto, no he comentado que la práctica propuesta de la asignatura es a escoger entre 3 cosas:
1- hacer una práctica propuesta por el profesor con una promax (en nuestro año era hacer el buscaminas con diodos led y programar distintas partidas y jugadores)
2- hacer un robot futbolista partiendo del microbot tritt montado a partir de lego con un hc11 que nos daban, si bien la forma de hacer que marcase gol el robot era libre (esto fue lo q elegimos)
3- práctica especial: hacer algo q tenga q ver con la asignatura partiendo de cero (obviamente la más dificil, y la q por tanto sacaba mejor nota)

Pues otras soluciones propuestas para que marcase gol el microbot fueron:
-el robot comienza en el centro, da una vuelta para ver si la pelota esta cerca, si no es asi se va a una banda, recorre todo el campo por el borde mirando con los sensores hacia dentro, y cuando la encuentre se va hacia ella y la lleva a la porteria.
-el robot comienza en el centro, va hacia la banda, avanza un poquito en el sentido de la banda, gira, va hacia la otra banda... es como si fuese "arando" el campo, y cuando encuentra la pelota la lleva hasta la porteria
-con un sensor de ultrasonidos :-O el robot hace un recorrido más o menos aleatorio hasta que encuentra la pelota, a la cual le va dando golpecitos hasta llevarla a la porteria

Y otros años, como práctica libre, se hicieron cosas como un robot-insecto, con sus 6 patas; o un robot que por medio de ultrasonidos recorria un laberinto.

Pues venga, si quereis comentarme algo o si os interesa el tema, ya sabeis [oki] [beer]
lo q mola es ver las flipadas de concursos q se montan en francia y por ahi, increibles XD
unos robots futbolistas los montaron unos colegas, iban bastante bien, aunque ya no recuerdo si seguian el mismo algoritmo q el tuyo o q
yo, aunque es un tema q encuentro interesante, tp es q me apasione, y lo unico q hice una vez fue un tipico rastreador
Nosotros también hicimos un cochecito parecido, usando lego y todo eso. Teníamos cuatro objetivos:

1) Recorrer un metro con total exactitud
2) Conseguir la mayor velocidad posible (hacer una caja de reducciones eficiente, vamos)
3) Hacer un recorrido marcado por celofán negro, y girar cuando chocase con un obstáculo
4) Subir una cuesta muy empinada (conseguir tracción y tener un peso equilibrado)

En nuestro caso usamos una placa especial con un montón de entradas y salidas, que acoplamos al coche. Teníamos infrarrojos, parachoques para detectar los impactos, cuentarevoluciones... incluso tenía una pantalla LCD, donde escribíamos chorraditas. Lo programamos con una versión especial de C llamada "Interactive C 4", especialmente diseñado para esa placa. La verdad es que es una práctica bastante chula, aunque da bastante trabajo, sobre todo montar el coche. Los programas no son tan complicados.

La asignatura es una optativa de la Facultad de Informática de SS, se llama "Sistemen Kontrola I" (osease "Control de Sistemas I"), que se da en la Ingeniería Técnica de Sistemas Informáticos.

PD: Uppala! Ya soy megaadicto... toca pensar frase friki [toctoc]
Escrito originalmente por kaironman
Nosotros también hicimos un cochecito parecido, usando lego y todo eso. Teníamos cuatro objetivos:

1) Recorrer un metro con total exactitud
2) Conseguir la mayor velocidad posible (hacer una caja de reducciones eficiente, vamos)



Vaya, hilo subido [looco] ¿Cómo conseguisteis hacer lo de medir la distancia con exactitud? ¿Teníais motores paso a paso o lo hicisteis con motores de contínua y contando las vueltas que daban mediante franjas blancas y negras en las ruedecillas?

Y lo de la velocidad, unos amigos montaron un robot q recorría un laberinto a toda mecha, le pusieron unas ruedas enormes (como la tapa de un bote de colacao o así), pero se las tuvo q hacer un tornero a medida XD De todas formas, muy xula la práctica kaironman [oki]


P.D. mu bueno Haggen XD
Escrito originalmente por Det_W.Somerset
¿Cómo conseguisteis hacer lo de medir la distancia con exactitud? ¿Teníais motores paso a paso o lo hicisteis con motores de contínua y contando las vueltas que daban mediante franjas blancas y negras en las ruedecillas?
Medimos la circunferencia de las ruedas, y teníamos un aparatillo que contaba las vueltas que daba el eje motriz, y con una formulilla matematica le dabamos cada vez menos fuerza al motor conforme iban pasando las vueltas. Hicimos unas 100 tiradas o así, y el margen de error era +- 0.4 cms. Ganamos el concurso y todo.

Te adjunto el código, es una chorradita, abrelo con el bloc de notas.
Escrito originalmente por Det_W.Somerset
Vaya, hilo subido [looco]
Es que había visto tu firma y me trajo recuerdos [buuuaaaa]

Adjuntos

Jejeje, pues está chulo lo de los motorcillos estos con fuerza regulable, y el código muy limpio y sencillo [oki]. Te adjunto una rutinilla de las nuestras, para q veas más o menos el aspecto q tenía nuestro código.

EDITO: como no había forma humana de que el bicho girara 90º exactos, más o menos aproximamos que había que hacer que diera 7 pasos (cada paso es una división de 1/8 de rueda, 8 pasos serían girar una rueda una vuelta completa, esto pasa por tener motores de contínua q no son regulables pq son mu baratos XD), esos 7 pasos girando las 2 ruedas en sentido contrario, y luego un "pasito", dejando fija una rueda y girando 1 paso solamente la otra, con lo q se giraba algo menos. Todo esto se iba al carajo cuando la iluminación de la habitación cambiaba, o sea q había veces q no nos funcionaba por la tarde y por la mañana si, y nos tiramos días dandole vueltas hasta que caimos en la cuenta... malditos sensores de movimiento cutres! cawento
Jo, acabo de ver tu codigo y eso me suena a ensamblador cosa mala. Habrá que desempolvar los apuntes de primero porque no me acuerdo de ná.

Aquí va el adjunto del programa gordo, vamos el de recorrer el circuito. Los pocos comentarios que tiene están en Euskera, y teniendo en cuenta que son casi las 4 de la mañana no me voy a poner a traducirlos. Si tienes alguna duda o lo que sea me tienes disponible por MP.

Adjuntos

Y aquí tienes una foto del coche, sólo que sin el cableado, los infrarrojos y la placa principal parece una mariconada. Las antenitas que tiene en el morro son las que accionaban los interruptores de choque.

Adjuntos

Jejeje, pos si, tuvimos q programar en ensamblador kk [lapota] Ya le he echao un ojillo a vuestro programa y más o menos se entiende, los programillas d este tipo suelen ser muy similares XD
Y esta chulo lo q es el coche, cuando lo teniamos ya casi montado estuvimos pensando en quitarle los sensores de luz del frontal y ponerle los interruptores de choque que tenéis vosotros, para que funcionara bien en cualquier condición de luz, pero es q la tienda nos pillaba lejillos y no habia ganas de llegarse [sonrisa] [Ooooo] Así q se quedo como estaba al final.
La verdad es q currarse la práctica es un coñazo, pero compensa luego cuando ves al robot por ahí correteando [+risas]

Enga saludos [bye]
17 respuestas