Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas tardes a todos.
Comentar lo vivido en la última feria-convención celebrada en la Ciudad de las Artes y las Ciencias de Valencia.
Doy las gracias en primer lugar a los organizadores y patrocinadores del evento por hacer posible que esto sea una realidad.
Como seguramente todos bien sabréis, cada año, por estas fechas se celebra el DESAFÍO ROBOT, donde además de exponer diversos fabricantes sus novedades en lo relacionado con la robótica, la automatización y las nuevas tecnologías, también podemos ver expositores de constructores e " inventores " de toda serie de " bichos ", capaces de hacer una serie de cosas increíbles...
Todo con el afán de acercar al gran público y sobre todo a los jóvenes, este fascinante mundo y despertar en ellos la curiosidad por avanzar en estas disciplinas.
Como viene siendo también común, se dan cita muchos grupos de diversos centro de formación, tanto de E.S.O. como de formación profesional, con el fin de competir con sus " máquinas " en una serie de pruebas, una de ellas de velocidad y la otra de ingenio o habilidad.
Con ello se pretende premiar el ingenio, la creatividad y la habilidad de los muchachos y muchachas que forman distintos equipos y representan a su centro de formación.
Al menos debería de ser así y digo debería, porque desde hace tiempo hacia acá, muchos hemos notado que siempre o casi siempre ganan los mismos.
¿Porqué?, pues muy sencillo, porque parece ser que lleven tres robots " igualitos ", no sabemos si de diseño propio o no, pero al menos sí podemos decir que de fabricación propia " nada de nada ".
Con ello consiguen que:
1ª No existan problemas de deficiencia constructiva como holguras, vibraciones, alineamientos imperfectos...
2ª No existan diferencias constructivas, con lo que con un código nos vale para todos ellos, pudiendo optimizarlo mucho más fácilmente a última hora, incluso en las últimas pruebas antes de la competición.
Esto deja de manifiesto que, en casos como este, los que menos intervienen en el diseño son los alumnos, es decir que, casi con toda seguridad, el diseño se reduce a unos pocos, incluso me atrevería a decir que a uno, al profesor.
En cuanto al código, más de lo mismo, da a pensar que, los alumnos que compiten, saben poco más que darle al pulsador de inicio... o al menos eso es lo que nos da a pensar.
Muy diferente son otros grupos de otros centros donde se diseñan la PCB con PROTEUS, EAGLE ..., la imprimen o la pasan a CNC, ácido..., pelean con las deficiencias constructivas ... hasta llegar a una " maquinita que anda ", con código propio e individualizado, aunque el profesor intervenga también en gran manera en muchos casos.
¿Cómo os explicáis si no que un robot vaya recto como un hilo en un lugar donde no hay línea y sin encoders en las ruedas, es decir sin control PID?
Hace unos pocos años, tres en concreto, otro centro fue capaz de dejar " en ridículo " a estos ganadores repetitivos, pero solo en la prueba de habilidad, ya que en la de velocidad, debido a las diferencias constructivas, quedaron por delante, pero que, sumando las dos, como en la de habilidad no hicieron NADA de NADA, no cogieron " ni las del suelo ".
Solo sirve de reflexión para que, tanto organizadores como patrocinadores , actúen y acoten las bases en lo posible para dar oportunidades a todos y no solo a los mismos ( o al mismo ), premiando el diseño individualizado en cada caso o penalizando aquellos diseños " precocinados ", dando a elegir si optamos por uno u otro, con las ventajas e inconvenientes que cada opción tendrá, o bien formando una categoría especial donde se presenten SOLO los que son de esa clase ( a lo mejor compiten solos...).
De seguro más de uno que lo esté leyendo sabrá de qué estoy hablando ( oímos varios comentarios de varios grupos ) y que, al igual que nosotros, percibimos cierta tendencia favoritista a favor de este equipo, por una serie de actuaciones que no vamos a mencionar por no dejar en mal lugar a la organización ...
Espero que, esta reflexión sirva al menos para que todos aquellos que este año allí estuvimos y que nos percatamos de lo que allí sucedía, coincidamos en lo mismo, es decir en que todos tengan en el futuro igualdad de posibilidades y traslademos este pensamiento a los organizadores y patrocinadores del evento para que, al igual que hacen en las competiciones de F1 o moto GP, sepan tomar las decisiones correctas para que todo aquel que allí vaya, lo haga convencido de que va a competir por sus habilidades y no por las de otro y que saldrá de allí contento, independientemente del resultado, ya que habrá disfrutado y aprendido de esta experiencia.
Por último, dar las gracias a esta magnífica plataforma donde coincidimos entusiastas y aficionados a la robótica y la domótica.
Una vez más, doy las gracias a la organización de la convención, esperando que estas palabras de reflexión sirvan para mejorar en lo posible y no para que nadie se enfade...
Saludos
Yo te apoyo... lo malo es que entra también en el software y hardware libre... que para eso se comparte para que se coja... y por eso salen tantos iguales... aun así siempre hay algo que se puede cambiar y desde luego no hacerlo todo el profesor o lo que haga que se quede libre.
Hola, soy Javier Martín, profesor del IES Libertas (los ganadores este año en la categoría libre del Desafío Robot y a los que creo que te refieres en tu post).
Es verdad que los 3 coches son idénticos: los diseño yo mismo con el Kicad y después los mando a fabricar a China, concretamente a Seeedstudio. Anteriormente usaba Iteadstudio, pero OJO con ellos porque este año han duplicado los precios (mandan la mitad de placas por el mismo precio de antes).
También es verdad que el PCB es el propio chasis e incluye zócalos para todos los componentes, taladros para los motores, rueda loca y que, como tú dices, al estar todo integrado es mucho más fiable contra vibraciones que, p.ej. una placa de topos o una breadboard. La mayoría de componentes son SMD; con las herramientas adecuadas los pueden soldar los propios alumnos. Obviamente la idea no es nueva, todo el mundo por aquí conoce a Silvestre, Piolín, Veloli, etc. Yo los vi por primera vez en 2011 en un Cosmobot y ya llevaban tiempo perfeccionando sus diseños. Anteriormente usaba acrílicos, cartón pluma u otros componentes pero siempre había problemas, cuando no era una cosa era otra, por no hablar del infierno de soldar los cables paralelos, así que decidí que el chasis-PCB era lo más sencillo desde el punto de vista constructivo. La verdad es que aún me parece increíble que uno mismo se pueda diseñar una placa, mandarla por correo y tenerla fabricada en el buzón a las 3 semanas (2 meses si se os ocurre pedirla en medio del año nuevo chino, historia basada en hechos reales). Si me lo hubieran contado cuando estudiaba me habría parecido ciencia ficción.
Para quien le interese, todo el código fuente (esquema + PCB + BOM + proveedores) de nuestro robot está en: https://bitbucket.org/entornos/robot2016_kicad .
Muchos equipos diseñan desde 0 las piezas y usan más "materia prima", y hasta se podría decir que los alumnos aprenden más, pero esto es relativo: yo soy profesor de Informática, así que prefiero enfocarme en la programación por dos razones, primero porque es lo que me gusta explicar (disfruto con ello), y 2º porque el currículo de la optativa de Informática de 1º de bachiller tiene un bloque dedicado a la programación, y eso me permite dedicar 30 valiosas horas de clase del primer trimestre para la programación de los robots.
¿Aprenden los alumnos menos por no haber diseñado el robot? Pues en mi opinión, NO. Aprenden OTRAS cosas: programación, algoritmia, control de versiones con git, y aprenden MUCHO de todo esto. En clase utilizo el famoso libro de Nacho Cabanes ( http://www.nachocabanes.com/c/ ), que está lleno de ejemplos y ejercicios y funciona bastante bien en modo autodidacta. Normalmente con las 30 horas lectivas del currículo los alumnos llegan hasta el tema 3 (bucles while, for, etc.), pero aquellos que quieren participar en el concurso DEBEN continuar en casa con el resto de temas relevantes para el robot, por ejemplo los ficheros y los punteros se los saltan pero los arrays son importantísimos. Yo les doy una lista de los ejercicios que creo más importantes ( http://ies1libertas.edu.gva.es/moodle/course/view.php?id=63 ), y esto les supone otro montón de horas de trabajo en casa. Obviamente en clase ya estamos con otros temas, así que desde diciembre hasta febrero los alumnos me fríen a preguntas de C en los recreos o por Twitter, por Slack (mi gran descubrimiento de este año), o por donde me pillen.
Cuando ya saben C les doy un esqueleto básico con unas APIs primitivas tales como "bot_velocidad(int, int)", o "bot_sonar_ping()", etc. para mover motores, leer el sónar y ese tipo de cosas. Si alguien está interesado, el esqueleto está colgado en: https://bitbucket.org/entornos/robot2016 .
¿Que estaría bien que se supieran al dedidllo todos los registros del Cortex M3 y programaran el PWM a pelo y tuvieran en cuenta los tiempos muertos de los mosfet P y N? Pues sí, pero en el tiempo que no dedican a eso han aprendido a usar el Tinkercad y se han diseñado ellos mismos los cuernos del morro en 3D, que también es útil.
Llegados a este punto, yo ya NO escribo ni una línea de código. Para mí es fundamental que los alumnos sean DUEÑOS de su código. En el concurso cada equipo lleva su portátil. Si no tienen, lo pone el centro. En las pruebas ellos saben lo que tienen que tocar, y yo mientras me voy al MacDonalds a traerles comida tranquilamente porque SÉ que lo pueden hacer.
https://www.youtube.com/watch?v=OQghDClwiew
https://www.youtube.com/watch?v=bBM6e0d_J40
https://www.youtube.com/watch?v=dJiqtfwBi9w
Como prueba, si os fijáis en los 3 vídeos veréis que cada uno usa formas distintas de resolver la prueba de las latas: 2 equipos van hacia atrás a ciegas y el otro gira 180º para intentar engancharse a la línea de vuelta. Pero ni siquiera los 2 que van de culo lo hacen igual: uno iba a tramos de distintas velocidades y otro (el que ganó) creo que usaba un control P o PD para las aproximaciones, y digo "creo" porque no he visto su código desde marzo.
¿Qué parte hacen entonces los alumnos? Pues sobre ese esqueleto programan la interpolación de la línea, cálculo del error, control P, luego PD, luego controlan la salida de trazada y con eso ya tienen el siguelíneas (esto en dos o 3 tardes está hecho). El MPU nos da el vector gravedad (usamos el driver de Invensense y el DMP para no tener que hacernos un filtro complementario!!), y con la gravedad podemos compensar el plano inclinado de la primera prueba para ir a una velocidad constante. Con el control PD y el giróscopo ya se pueden hacer giros muy precisos y ultra-rápidos (curiosamente, como el giróscopo va acumulando error con el tiempo, cuanto más rápido hagamos el giro más preciso será). Los encoders se pueden usar para hacer aceleraciones progresivas y evitar que el coche patine (la velocidad va aumentando con la distancia). Por el camino surgen problemas con las sumas y restas de ángulos, especialmente en el paso del 2º al 3º cuadrante y otros problemas trigonométricos que deben resolver. Con el siguelíneas, los giros y el andar recto ya pueden hacer la prueba aunque de forma rudimentaria. Luego vienen las optimizaciones y los casos puñeteros como la secuencia de salida, la última lata que se queda medio fuera, que el rozamiento en nuestro tablero no es el mismo que allí, que los encoders leen basura porque patinan las ruedas, la detección de la lata (todos nuestros coches estaban preparados por si había < 8 latas), el voltaje de las pilas, o la inercia, etc, etc. y un LARGO etcétera. A esto le dedicamos muchísimas horas en sesiones maratonianas por las tardes en el IES; muchos días hasta las 22 que tenían que venir los padres a recogerlos de lo oscuro que estaba.
Respecto a lo andar recto, no hacen falta encoders (pero si PID) y es bastante fácil: se trata de un "siguelíneas" donde el error de la línea es el rumbo.
Para evitar escaladas de competitividad (a ver quién corre más a costa de ser menos fiable), les exijo que el código para concurso sea capaz de hacer 10 veces seguidas la prueba sin fallar una vez. Este año no hemos llegado al 0% de errores (todos los coches fallaban alguna lata de las 80), así que ciertamente había probabilidad de fracasar, pero al final la suerte también ha jugado un poco de nuestro lado y todo funcionó bien a la primera.
Sobre el robot en sí, hasta ahora ahora siempre habíamos usado una placa Baby Orangutan, pero este año nos hemos pasado a un Cortex M3 de ST, concretamente un STM32F103C8T6 (aka "Bluepill", 2€ en aliexpress). Aparte de más velocidad, más RAM y más Flash, este chip tiene algo MUY interesante, y es que a los timers 3 y 4 se les puede enchufar directamente un encoder en cuadratura (ej. https://www.pololu.com/product/2598 ), y es INCREÍBLEMENTE fácil leerlo con una línea del tipo "x = TIM3->TCNT;" sin necesidad de ISRs ni historias raras: él solo cuenta hacia arriba, hacia abajo y no pierde ni un pulso. Al tener más RAM podemos usar un RTOS sencillito como ChibiOs para atender a tareas urgentes (leer MPU-6050, atender al puerto serie / botón de pánico), y un thread aparte se dedica a resolver la prueba. Así ya no es necesaria una máquina de estados y la programación puede ser secuencial, el código es más fácil de escribir y se depura mejor.
Finalmente, quien se pregunte de dónde sacamos el dinero para todo esto, estos últimos años nos han concedido ayudas para proyectos de innovación. Para quien no las conozca, son unas subvenciones que convoca anualmente la Conselleria de Educación y tienen una dotación económica que depende del proyecto. A nosotros este año nos han dado unos 800€. La mitad se nos va en piezas de Pololu, la cuarta parte en el autobús desde Torrevieja (que compartimos con el IES Lagunas), y los otros 200€ en Mouser, el tablero, etc. La verdad es que sin esta aportación sería mucho más difícil construir los robots, o tendríamos que recurrir al presupuesto del centro.
Como veis, mi opinión es que aquí todos echamos un montón de horas, tanto profes como alumnos, y el trabajo de unos no desmerece el de los otros.
También opino que haber ganado este concurso es únicamente fruto merecido de dicho trabajo, una enseñanza importantísima por sí sola, y que corremos el riesgo de olvidar cada día si se nos ocurre leer las noticias, poner Tele 5, etc.
En fin, perdonad el tocho, mi intención era sólo disipar un poco las dudas planteadas y contraponer mi opinión a la de que "los alumnos sólo aprietan el pulsador".
Javier
Buenas noches a todos.
Primeramente decir que no voy a entrar en ninguna disputa respecto a este tema, ya que me parece que no es el momento ni lugar para ello.
Solo comentar que lo expuesto por Javier me parece bien, incluso concuerdo con él en algunos puntos.
Con toda esta explicación demuestra sus amplios conocimientos en el tema, pero en ningún caso queda patente que estos conocimientos los tenga el alumnado que es finalmente quien debe de ganar con méritos propios.
De todos modos, coincidimos en algo, creo yo y es en que, sin ayuda del profesor o profesores, sería completamente imposible que un grupo de estudiantes por " avispados " que estos sean, pudiesen llevar a la ejecución y terminar un proyecto como este, que ya tiene cierta envergadura.
Pero una vez más continúo diciendo que se han de establecer unos límites mayormente definidos para este tipo de eventos, pensando en que, estadísticamente, ni un centro puede tener un alumnado tan "listo" ni el resto un alumnado tan " torpe ", ¿verdad ?.
Si finalmente fuese así ( no digo que lo sea ), entonces habría llegado el momento de establecer otra categoría, al igual que en el mundo fallero, por ejemplo: la categoría especial.
Si no, corremos el peligro de que el resto de centros pierdan el aliciente por acudir, en vista de la superioridad de uno o de un pequeño grupo de ellos.
De todos modos si el compañero Javier, cree que está en lo cierto y que el centro está compitiendo dentro de los límites legales y morales ( ojo, no siempre son lo mismo ), estupendo, adelante y enhorabuena !!!
Yo, personalmente discrepo en que esto sea completamente así.
Es cierto también que, no todo el mundo domina el amplio abanico de disciplinas necesarias para poder llegar a completar uno de estos proyectos ( electrónica, CAD para diseño de PCB's, programación, mecánica ...), por lo que puede hacerse necesario el " echar mano " de una construcción por encargo para evitar " fallar " en alguno de estos puntos...
Es por eso que, o bien se tendría que establecer una categoría especial para este tipo de montajes, o bien se debería de" bonificar" a aquellos que lo hacen " todo " penalizando de alguna manera a los que lo tienen " medio hecho " o no intervienen en todas las fases de su construcción.
De esta manera no dejaríamos el total del peso del mérito a la prueba o al resultado final, sino daríamos más " margen " para que otros que opten por abarcar más en su diseño, jugándose más en ello y sabiendo que obtendrán peores resultados prácticos por lo ya mencionado ( holguras, deficiencias constructivas...), al menos se sientan motivados a continuar, sabiendo que les será más difícil ganar.
Con estos comentarios no pretendo ofender a nadie, todo lo contrario.
Tampoco soy ninguno de los profesores de los centros allí presentes, puedes estar tranquilo Javier.
Tan solo soy un profesional de la electrónica ya muy " chamuscao " por muchos años de trabajo y que también, en mis ratos libres, diseño mis " animalitos ".
Soy el padre de uno de los alumnos que, tras superar una apendicitis, fue capaz de presentar un robot que quedó escasamente detrás vuestro y tan solo con unos cuantos días de margen para su completo diseño y programación ( desde cero ).
Dudo que cualquier de los alumnos de los equipos ganadores le supere en conocimientos de electrónica y programación ( sus altísimas notas lo dicen ), así y todo, con su diseño y con mucho esfuerzo, tan solo ha podido optar a quedar por detrás vuestro y sin ninguna posibilidad de haber superado a ninguna de vuestras marcas ( ya partíamos de ese supuesto y no nos importó ), precisamente por lo mencionado, porque se parten de conceptos radicalmente opuestos.
Con eso queda patente que, o cambian las bases en algo o nos tememos que nadie va a poder optar a ni tan siquiera al tercer puesto.
Lo dicho, arriba la creatividad y el ingenio.
Pero compitamos en igualdad de condiciones.
Así y todo, al equipo de chicas / chicos / profesor del I.E.S Libertas, enhorabuena!!!, habéis hecho triplete !!!
Buenos tardes,
en ningún caso queda patente que estos conocimientos los tenga el alumnado que es finalmente quien debe de ganar con méritos propios.
La verdad, si después de ver 3 vídeos con la prueba resuelta de 3 formas distintas aún crees que lo he hecho yo todo... Te remito a mi post anterior donde explico al detalle lo que he hecho yo y lo que han hecho ellos.
No sólo pienso que mis equipos han ganado por méritos propios, medidos en horas de dedicación y esfuerzo, sino que el mérito es doble por competir con alumnos de ciclos formativos donde parte de la formación se la dan en el aula, y con una carga horaria muy potente (>250 horas de programación en los ciclos de Informática, por ejemplo). ¿Eso sí que te parece competir en igualdad de condiciones? Porque a mí no: mis alumnos tienen que aprender a programar FUERA de horas de clase mientras se sacan con nueves y dieces las demás asignaturas, incluso algunos lo tienen que compaginar ayudando a sus padres en el trabajo. Te aseguro que en cuanto al merecimiento de los resultados, tengo la conciencia MUY tranquila.
Dudo que cualquier de los alumnos de los equipos ganadores le supere en conocimientos de electrónica y programación
Me parece muy admirable que seas un padre orgulloso de tu hijo y mi enhorabuena por el buen resultado obtenido. Pero tu comentario prejuzga la capacidad y el esfuerzo de los demás, menosprecia mi trabajo y el de mis alumnos, y es precisamente el ejemplo de enseñanza que intento no transmitir a los demás. Ante tal argumento no me queda nada que decir.
Un saludo,
Javier