domingo, 1 de diciembre de 2013
domingo, 6 de octubre de 2013
miércoles, 28 de agosto de 2013
Publicación FLL 2013
Hoy han publicado el desafío 2013 de la competición First Lego League titulado Nature's Fury.
Podéis encontrar toda la información en esta URL:
http://www.firstlegoleague.org/challenge/2013naturesfury
domingo, 5 de mayo de 2013
domingo, 28 de abril de 2013
Competición interna
Propongo la siguiente competición interna.
Teniendo en cuenta el Desafío Seniors Solutions de la First Lego League, vamos a realizar una competición entre los tres equipos utilizando algunas de las misiones.
Vamos a distribuirlas misiones de la siguiente forma:
Para calcular los puntos de cada equipo en la competición se dividirán los puntos obtenidos entre su máximo.
Las misiones principales se pueden hacer en cualquier orden.
Las misiones opcionales se deben realizar en el orden indicado.
Las misiones opcionales no puntúan si no se completan las misiones principales.
El último día que nos juntemos en Junio realizaremos la competición interna.
Para obtener más información de las misiones y las reglas podéis consultar los siguientes documentos y este vídeo:
http://www.firstlegoleague.es/docs/FLL/FLL_12SS_El_Desafio_Senior_Solutions_120910.pdf
http://www.firstlegoleague.es/docs/Revista_FLL_Senior_Solutions_CAST_WEB.pdf
Teniendo en cuenta el Desafío Seniors Solutions de la First Lego League, vamos a realizar una competición entre los tres equipos utilizando algunas de las misiones.
Vamos a distribuirlas misiones de la siguiente forma:
EQUIPO 1 | EQUIPO 2 | EQUIPO 3 | |||
acolchado azul | 30 | acolchado naranja | 60 | jardinería | 25 |
videollamada | 40 | cocina | 25 | cocina | 25 |
flexibilidad | 40 | flexibilidad | 40 | medicina | 25 |
bolos | 60 | bolos | 60 | bolos | 60 |
transiciones | 65 | transiciones | 65 | transiciones | 65 |
max puntos | 235 | max puntos | 250 | max puntos | 200 |
Misiones opcionales | |||||
balón | balón | balón | |||
madera | madera | madera | |||
cardiovascular | cardiovascular | cardiovascular | |||
animales | animales | animales | |||
Las misiones principales se pueden hacer en cualquier orden.
Las misiones opcionales se deben realizar en el orden indicado.
Las misiones opcionales no puntúan si no se completan las misiones principales.
El último día que nos juntemos en Junio realizaremos la competición interna.
Para obtener más información de las misiones y las reglas podéis consultar los siguientes documentos y este vídeo:
http://www.firstlegoleague.es/docs/FLL/FLL_12SS_El_Desafio_Senior_Solutions_120910.pdf
http://www.firstlegoleague.es/docs/Revista_FLL_Senior_Solutions_CAST_WEB.pdf
jueves, 25 de abril de 2013
Horarios
Nuestro horario habitual de reunión es los lunes de 14:30 (finalización de las clases de secundaria) a 16:00. Debido a la hora de la cual se trata aprovecharemos para comer un tentempié al principio de la reunión, mientras hablamos entre nosotros, trazamos la hoja de ruta del día y planeamos como vamos a dividirnos y a trabajar.
No obstante estamos barajando la posibilidad de poder establecer algún otro día que nos venga bien a todos y nos sea de provecho.
No obstante estamos barajando la posibilidad de poder establecer algún otro día que nos venga bien a todos y nos sea de provecho.
Normas
NORMAS
GENERALES
1.
Uno de los responsables del equipo debe estar presente en todo
momento en la sala de reunión.
2.
No se permitirá a los alumnos permanecer en los pasillos durante el
tiempo que duren las sesiones.
3.
Los equipos de trabajo se utilizarán únicamente para actividades
del equipo.
4.
El comportamiento en la sala de reunión debe ser apropiado y no
correr ni jugar en su interior.
5.
No se podrá comer en la propia sala de reunión sin autorización.
6.
Si no tienes ninguna tarea pendiente entonces pregunta a los
coordinadores que debes hacer.
7.
Coloca siempre los útiles de trabajo que hayas usado después de
haberlos limpiado correctamente.
8.
No utilices partes nuevas si no has sido específicamente autorizado
a hacerlo.
9.
TODOS LOS MIEMBROS DEBEN RESPETARSE. Si tienes un problema con
alguien díselo a los coordinadores.
10.Siempre
se respetarán las horas de trabajo del equipo. Y se realizará un
seguimiento de la asistencia pudiendo ser esta asistencia el
referente para viajes, premios o felicitaciones a final de curso.
Estas horas de asistencia podrán perderse si el comportamiento es
inadecuado.
11.Si
el equipo participa en un torneo de competición todos los miembros
deberán conocer las normas de este torneo previamente.
12.Se
observarán y respetarán todas las secciones aplicables del
Reglamento de Régimen Interior del centro.
NORMAS
DE SEGURIDAD
1.
Utiliza siempre el sentido común y si dudas si algo es seguro o no,
no lo realices.
2.
Deberán usarse los equipos de seguridad necesarios para aquellas
tareas que lo requieran. Estos serán de forma habitual gafas de
seguridad y guantes.
3.
Herramientas eléctricas:
3.1.
No se pueden usar sin permiso.
3.2.
No se pueden usar si no te has sido enseñado a usarlas.
4.
No se corre en la sala de reunión.
5.
No se fuerzan los mecanismos de ajuste más allá de su tope.
6.
En las soldaduras se comprobará siempre el estado del material, del
soldador y se esperará a que no haya nadie más realizando esta
tarea en las proximidades.
7.
Siempre que haya que realizar algún corte se utilizará una guía,
un tornillo de ajuste y material de protección.
8.
Cuando haya robots en operación se establecerá previamente la zona
de utilización y se avisará al resto del equipo de la operación
que se va a llevar a cabo.
NORMAS
PARA LAS COMPETICIONES
1.
Todas las normas establecidas por los organizadores del torneo serán
seguidas por todos los miembros del equipo.
2.
Todos los miembros del Equipo deben ser respetuosos con los miembros
de otros equipos.
3.
Los miembros del Equipo deberán llevar la misma indumentaria si así
lo exige el reglamento del torneo tanto en el lugar de la competición
como en las redes sociales o foros en los que participe el equipo.
Hay que tener siempre presente que no sólo se representa a uno mismo
sino también al equipo, al colegio y a los patrocinadores.
4.
Se ayudará al resto de los equipos siempre que sea posible.
5.
Se observarán todas las competiciones en las que el equipo participe
con respeto y con ánimo de aprender y disfrutar, intentando siempre
animar a nuestro equipo sin faltar al respeto del contrario e incluso
se podrán valorar positivamente aquellas acciones del contrario
dignas de ese elogio.
6.
No se abandonará nunca una competición sin el expreso permiso de
los coordinadores o responsables del Equipo.
7.
Se respetarán todas las normas de seguridad establecidas por los
organizadores del torneo.
8.
El equipo dejará siempre el área que le ha sido asignada durante el
torneo, al menos tan limpia y ordenada, como se la encontró.
9.
Todos los miembros del equipo respetarán las disposiciones de los
coordinadores sobre salidas, viajes, horarios y alojamiento que
puedan requerirse en las acciones del equipo.
Propuesta de colaboración con ordenadores
En
el equipo queremos colaborar con las familias que no tienen medios
económicos suficientes para hacer frente a la compra de un equipo
informático. Nuestra propuesta es que cuando vayas a cambiar tu
ordenador (que aún funciona) por uno más moderno y con mejores
prestaciones, nos dones tu antiguo ordenador. Nosotros lo
formatearemos e instalaremos software libre (no hay que pagar por su
utilización) y lo cederemos por un precio simbólico a alguien que
no pueda permitirse uno nuevo.
Anímate a colaborar con nosotros
Si te gusta la apuesta por la innovación, por la educación, por las nuevas propuestas puedes colaborar con nosotros.
Para colaborar puedes ayudarnos con nuestra financiación, con material, con conocimientos que puedes compartir con nosotros, donando ordenadores que nosotros formateamos, instalamos software libre y los cedemos a familias con pocos recursos e hijos en edad escolar…etc.
Es importante que sepas que puedes hacer esta colaboración de muchas maneras, tanto que te invitamos a proponernos nuevas formas de colaboración, tu nombre y el logotipo de tu empresa serán colocados en un lugar de honor en nuestros medios sociales (no será así, si no lo deseas).
Trabajamos en la robótica con los alumnos del Colegio pero nuestras actividades no se limitan a trabajar con robots. También estamos interesados en la creatividad, en la solidaridad y en enseñar y compartir los valores que hagan de nuestros alumnos, buenas y honradas PERSONAS.
lunes, 15 de abril de 2013
Nuestras cosillas de equipo
Este apartado será para nuestros temas, el cajón desastre de todo lo que nos pase, se nos ocurra o hagamos y no clasifiquemos en los otros apartados.
Amigos de otros centros
En este espacio tendrán cabida aquellos otros equipos de robótica de otros centros con los que podremos compartir soluciones y estrategias. Y si eres de otro equipo y estás leyendo esto, ¡Bienvenido!
Robot
En este apartado vamos a ir contando los avances, problemas y SOLUCIONES que vayamos aprendiendo para el Robot.
Valores
Pestaña dedicada al trabajo de valores FLL en la que iremos colgando los trabajos y presentaciones que hagamos.
sábado, 6 de abril de 2013
Robot P4
A continuación os presentamos nuestro primer robot de pruebas, que hemos llamado “P4”.
Se llama así porque es la cuarta modificación respecto al robot Tribot que hemos hecho para llegar hasta su diseño. El robot Tribot es el robot oficial que viene en el manual de instrucciones de montaje de Lego Mindstorms®. Vamos a describir el proceso y explicar las modificaciones.
Lo primero que hicimos es sacar de las bolsas para organizar todos los componentes Lego®. Seguramente sea de las prácticas más importantes, ya que tener bien organizadas las piezas ayuda al proceso de construcción.
Montamos el robot tal como viene en las instrucciones, lo cual es una fenomenal toma de contacto con todas las piezas, así como la primera experiencia de montaje. En mi opinión, en caso de no haber tratado nunca con piezas Lego o con el kit NXT, este debe ser el primer paso ya que te da muchas ideas de cómo poder anclar piezas y cómo montar los motores.
Podemos encontrar en esta URL http://ro-botica.com/img/nxt/pdf/BI_Driving_Base.pdf el proceso de construcción.
A falta del cableado, así es como quedaría:
Al final del proceso podemos programar directamente en el ladrillo inteligente, sin necesidad de ordenador, instrucciones como la siguiente:
Jugando un poco con esto ya tenemos a nuestra base motora moviéndose por la casa:
A continuación pongo una serie manuales que pueden ser útiles a la hora de comenzar. Principalmente explican los distintos módulos y la programación:
El siguiente paso fue añadir el sensor de luz “down” centrado y mirando hacia el suelo, tal como indican las instrucciones ·”Módulo sensor de luz "down"” con el objetivo de realizar el primer programa para seguir líneas. Como no tenía tapete cogí directamente un folio y le dibujé una línea:
El siguente paso fue añadir el “Módulo motor” de las instrucciones de Lego®, pero lo puse en el lado contrario (en la izquierda) y al otro lado puse el sensor de luz para seguir líneas. He situado el sensor de luz en la izquierda para probar el comportamiento de seguir líneas sencillo teniendo el sensor desviado. El resultado es que no ha afectado en nada, y además podemos dejar la línea a la derecha, como debería pasar en varias misiones del tapete Senior Solutions de este año de la la First Lego® League.
Para comenzar con las pruebas y la programación me hice un tapete con dos cartulinas y una serie de líneas negras con cinta aislante.
El siguiente paso fue ponerme una pequeña misión similar a las que se hacen en la First Lego® League. Me puse como objetivo coger un rollo de cinta aislante con el brazo robótico.
El robot tenía que seguir la línea, y cuando el sensor de ultrasonidos, situado en la parte de la izquierda debajo del motor, tuviera un valor menor que 12 el robot paraba, indicando que tenía la cinta a la izquierda. En ese momento sube el brazo y coger la cinta. Un video más explicativo:
En este caso utilizamos el sensor de ultrasonidos como condición de parada. Es decir, si yo no hubiera puesto un sensor para detectar el rollo de cinta, el robot habría seguido y sólo se podría haber parado si programamos directamente en el código que anduviera por ejemplo 20 cm o 3 rotaciones de motor o lo que fuera. En tal caso, para que siempre cogiera el rollo deberíamos partir del mismo sitio, y en este caso es difícil hacer eso con exactitud. Lo ideal es poder programar una condición de parada en función del entorno, para que de esa manera los cambios de dirección del robot o de longitud no afecten tanto al resultado final.
Como considero importante lo de la condición de parada en función del entorno, y teniendo en cuenta el diseño de los tapetes de los años anteriores, he decidido rediseñar el robot poniendo 2 sensores en la parte frontal. Uno de luz a la izquierda y otro de color a la derecha. De esta forma cuando haya cambios de color en la línea o fin de línea se podrá distinguir con facilidad utilizando el sensor de color.
También he modificado el brazo, ya que no me resultaba muy estable por el mecanismo de engranajes que tiene. Al disponer sólo de un motor adicional hay que aprovecharlo al máximo y considero importante que tenga movilidad en los distintos ejes horizontales X e Y y acceso a ambos lados del robot y a la parte frontal y quizás a la trasera. Por ello he cambiado la posición del motor a una zona más elevada y más centrada. También he cambiado la posición del ladrillo y ahora está en vertical. He realizado inicialmente un mecanismo de engranaje para cambiar de eje la rotación, que se puede ver en la siguiente imagen:
Otra modificación en cuanto a las ruedas es que he cambiado el diseño de la rueda del Tribot por otra rueda sin goma y más pequeña para que el robot deslice mejor, esté más centrada y esté más baja para que los sensores estén más cercanos al tapete.
A partir de aquí es cuando empieza a formarse el robot P4 que presentamos. Con estas pequeñas modificaciones de diseño he ido mejorando algunos aspectos, pero hay otros como el hecho de que las ruedas puedan moverse en el eje libremente que he mejorado metiendo bloques. Es muy importante que las ruedas tengan la misma distancia a los motores para que sea lo más simétrico posible el bloque de motor. Si esto no sucede al realizar desplazamientos se pueden generar desviaciones en la trayectoria.
Después de utilizar varias veces el robot, he visto que el hecho de tener el ladrillo puesto en vertical es poco práctico, así que he cambiado su orientación a horizontal. Al hacer esto también he retrasado un poco el motor del gancho. De esta forma tenemos mejor acceso tanto al cableado como a la pantalla y los botones. Es importante dejar accesible las conexiones del ladrillo, especialmente la de cargar la batería o la de USB, conexiones que a la hora de montarlo no se ven cableadas pero que luego se necesitan utilizar.
Teniendo en cuenta mucha de las pruebas de FLL he decidido hacer en la parte frontal una pequeña plancha giratoria que permita coger cosas y a la vez que sirva de refuerzo de los sensores y evite cambios fuertes en su luz. También he añadido una pala que va a la parte frontal hasta la plancha, donde se pueden poner accesorios según la misión que se quiera hacer.
Por otro lado, he rediseñado el engranaje para cambio de eje, y aunque todavía se puede mejorar mucho, permite adaptar rápidamente accesorios para coger elementos en el tapete. De esta forma se pueden realizar varios movimientos con el mismo motor.
También he cambiado la posición del sensor de ultrasonido, poniéndolo a la altura del accesorio gancho, pero se puede cambiar en función de la misión.
Llegados a este punto he considerado que tenía un robot lo suficientemente completo por el momento con el que comenzar a estudiar la parte de la programación en NXT-G. Se pueden realizar todavía bastantes mejoras como el enganche del ladrillo al chásis, o mejorar el bloque del motor auxiliar. No obstante me interesaba meterme con la parte de la programación par ver las dificultades que nos podíamos encontrar.
La primera dificultad fue al intentar poner el Bluetooth con Windows 7. El problema es que para que NXT-G utilice el dispositivo Bluetooth, este debe estar utilizando el driver Genérico de Windows, que en mi caso no sucedía porque los señores de HP habían puesto el suyo. Tenéis en esta dirección un manual de cómo usar el Bluetooth en NXT-G, y en esta una descripción del problema. Al final no conseguí ponerlo en mi HP, por lo que utilizé un dongle de los chinos que tenía por casa.
Utilizar Bluetooth es opcional, pero ayuda mucho a que el cable USB no se lie con el robot cuando programas giros especialmente.
A continuación muestro un resumen de las funciones que hemos desarrollado.
Dentro de poco P5...
void adelante()
Avanza 1 rotación de la rueda a velocidad 50. 360 grados= 1 giro de rueda
void adelanteParam()
Avanza hacia adelante. Se le pasa la información del giro en grados. 360 grados= 1 giro de rueda
Parameters:
Velocidad - velocidad hacia delante
VueltasRuedas - Grados que giran las ruedas hacia delante
void bajarPala()
Baja de golpe la pala durante 1 segundo.
void bajarPalaParam()
Baja la pala del motor A según los grados que se indiquen.
Parameters:
Grados - Grados que se baja la pala.
void subirPala()
Sube la pala del motor A según los grados que se indiquen.
Parameters:
Grados - Grados que se sube la pala.
void atrasParam()
Avanza hacie atras. Se le pasa la información del giro en grados. 360 grados= 1 giro de rueda
Parameters:
Velocidad - velocidad hacia atras
VueltasRuedas - Grados que giran las ruedas hacia atrás
void atras()
Avanza hacia atrás 1 rotación de la rueda a velocidad 50. 360 grados= 1 giro de rueda
void giroIzquierda()
Gira el robot a la izquierda. Utiliza un giro de 168 grados con una potencia de 50.
void giroIzquierdaParam()
Gira el robot a la izquierda.
Parameters:
Velocidad - Velocidad de los motores al girar.
Grados - Números de grados que se gira. 180=90grados (angulo recto)
void giroDerecha()
Gira el robot a la derecha. Utiliza un giro de 169 grados con una potencia de 50.
void giroDerechaParam()
Gira el robot a la derecha.
Parameters:
Velocidad - Velocidad de los motores al girar.
Grados - Números de grados que se gira. 180=90grados (angulo recto)
void sigueLineaSimple()
Función que se le llama iterativamente para seguir una línea oscura. Se supone que el sensor de luz está previamente calibrado por lo que se toma como media del sesor de luz el valor de 50.
void sigLineaParam()
Función que se le llama iterativamente para seguir una línea oscura. Se supone que el sensor de luz está previamente calibrado por lo que se toma como media del sesor de luz el valor de 50.
Parameters:
Velocidad - Velocidad del motor más rapido
VelocidadReducida - Velocidad del motor más lento en el giro
void sigueLineaEscala()
Función que se le llama iterativamente para seguir una línea oscura. Se utiliza una escala de 3 rangos. Es en escala de 3. Recto entre 45-55. Supone media 50. Utilizarse para lineas muy rectas. Se supone que el sensor de luz está previamente calibrado por lo que se toma como media del sesor de luz el valor de 50. Valores internos: Velocidad del motor más rapido=50 VelocidadReducida del motor más lento=35
void sigLineaEscalaParam()
Función que se le llama iterativamente para seguir una línea oscura. Se utiliza una escala de 3 rangos. Es en escala de 3. Recto entre 45-55. Supone media 50. Utilizarse para lineas muy rectas. Se supone que el sensor de luz está previamente calibrado por lo que se toma como media del sesor de luz el valor de 50.
Parameters:
Velocidad - Velocidad del motor más rapido
VelocidadReducida - Velocidad del motor más lento en el giro
void sigueLineaP()
Sigue una linea recta o curva utilizando regulador P Proporcional. Función que se le llama iterativamente para seguir una línea oscura. Se supone que el sensor de luz está previamente calibrado por lo que se toma como media del sesor de luz el valor de 50. Valores internos: Velocidad 50. Kp=50
Dentro de poco P5...
Suscribirse a:
Entradas (Atom)