¿Qué aporta la robótica como hobby?

A día de hoy la robótica constituye una herramienta educativa muy potente. Permite aprender y poner en practica diferentes ramas de la ciencia. Lo hace a través de la ingeniería y las áreas de la ciencia en las que se sustenta (matemáticas, física, química, entre otras) y utilizando la tecnología actual. Este tipo de educación se denomina STEM acrónimo del inglés Science, Technology, Engineering and Mathematics (Ciencia, Tecnología, Ingeniería y Matemáticas). Además permite potenciar la creatividad de las tecnologías digitales, más allá de la simple explotación de ellas.

Además si la robótica se hace en equipo, como suele ser habitual en Eurobot, la robótica permite desarrollar habilidades y competencias como el trabajo en grupo, la motivación personal, gestión de retos y objetivo, y el manejo del fracaso y las emociones que implican los errores, entre otras.

Por ejemplo, en el campo de la ingeniería electrónica y mecánica, se gana experiencia en el proceso de diseño, fabricación y montaje de productos que implican una electrónica y una mecánica (tarjetas electrónicas, piezas mecánicas, mecanismos, cableado, etc). Se aprende a trabajar con diferentes tipos de materiales (madera, plástico, aluminio, polímeros, etc), a utilizar herramientas y a fabricar piezas mecánicas utilizando diferentes procesos de fabricación (impresión 3D, fresado, plegado, inyección en silicona, etc.).

wp-1461959255886.jpg
Robot (triángulo) que esta en A y quiere ir a B.

Si nos centramos en Eurobot, el simple hecho de que los robots se muevan y que lo hagan hacia lugares concretos (donde coger o dejar elementos del juego) implica la aplicación de las matemáticas y la física. Así, para ir de un punto A a un punto B se utiliza la trigonometría. Esto es, el robot necesita mirar a B (girar un ángulo alfa) y luego avanzar una distancia d. Y además si se desea el tiempo en ir de A a B sea el menor posible es necesario utilizar las leyes de Newton para el calculo de la aceleración y velocidad máxima, que permitan al robot no derrapar ni pasarse de frenada.

He dejado para lo último aquello en lo que tengo más experiencia. Aquí me voy a extender un poco más. Dado que un robot en última medida es controlado desde un microcontrolador o procesador similar, la robótica implica adquirir conocimientos sobre la ingeniería del software y el desarrollo de sistemas embebidos. Seguramente alguna vez queramos utilizar una librería o código desarrollada por otras personas pero que nos es muy útil. Tendremos que aprender a maneja y confiar en librerías de terceros y si son de código abierto quizá podamos colaborar y solucionar bugs. Se aprende mucho analizando y comprendiendo el código de otros. Además seguramente estas librerías utilizarán algún sistema de control de versiones distribuido como Git, Mercurial o centralizado como SVN o incluso sistemas más antiguos como CVS. Todo el mundo es reacio al principio a utilizar un sistema de control de versiones, es una decisión personal que normalmente cae por su propio peso cuando se trabaja con proyectos de código extensos.

A medida que nuestro código vaya creciendo nos plantearemos como organizarlo, como reutilizar código de un año a otro o incluso como reutilizar código del microcontrolador que estamos utilizando para poder utilizarlo en otros proyectos. Esto nos llevará a desarrollar código de una forma más modular y estratificada. Quizá más adelante, nuestro microcontrolador se quede escaso de recursos, queramos cambiar a otro de la misma familia pero con más recursos y reutilizar las librerías que hemos desarrollado hasta entonces y mantener la compatibilidad con nuestro antiguo microcontrolador. Esto lo conseguiremos mediante la compilación condicional.

Al ir ganando experiencia, seremos capaces de detectar las partes fundamentales y comunes a la hora de implementar una aplicación o funcionalidad. Si observamos como lo ha resuelto el resto del mundo nos daremos cuenta que hay ciertas cosas que ya están muy estudiadas y aparecen en cualquier aplicación que desarrollemos. Así podremos detectar y aplicar patrones que nos facilitarán desarrollo.

Quizá llegue un momento en que nos demos cuenta de que tiempo que lleva realizar la depuración de nuestro robot sobre el entorno real es mucho y es un proceso lento, o quizá no dispongamos de dicho entorno porque no nos queda otra que desarrollar de forma remota. Para todo eso, es muy útil el uso de simuladores o bancos de pruebas (conocidos como sandboxes) que nos permiten emular las interfaces de entrada y salida de nuestro robot (sensores y motores) o sus estímulos (obstáculos).

He de decir que con la robótica se disfruta, es divertida, pero también se sufre y requiere de un indudable ejercicio de abstracción y concentración. Es necesario investigar sobre cosas nueva o reforzar conocimientos ya adquiridos, aplicarlos y/o madurarlos. Son más comunes los errores que los aciertos, nada sale a la primera, y la ley de Murphy no suele fallar: “Si algo puede salir mal, saldrá mal”. Todo esto lleva al aprendizaje y aplicación del método científico ya sea para experimentar o para resolver problemas encontrados, como por ejemplo, comportamientos no esperados del robot. Durante el desarrollo de la robótica, puede parecer que es una actividad poco agradecida o agradecida en momentos muy cortos. Pero merece la pena y además estoy convencido que más tarde, en el mundo laboral o de la investigación, es cuando la robótica tiene gran parte su retorno. Al menos así ha sido en mi caso.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .