Skip to content
monkeyserna edited this page May 27, 2014 · 2 revisions

Objetivos

Charlie the robot es un proyecto con gran variedad de objetivos y público a quien va destinado.

Por un lado se encuentra la interacción a distancia, ya que es posible controlar el robot a través de Internet. Esto da lugar a posibilidades que incluyen el control del robot, tanto mediante scripts como empleando el modo de conducción libre, desde cualquier lugar del universo que disponga conexión a Internet. Por tanto, un uso práctico de este robot puede ser el de poder controlar el robot a grandes distancias, y así realizar televigilancias.

Además, se ha dedicado mucho esfuerzo en hacer que este proyecto sirva como una herramienta con finalidades didácticas. Por un lado, se ha tratado de simplificar al máximo la programación del robot para que cualquier persona pueda aprender a programar. El objetivo es que cualquier persona, incluyendo niños, consiga crear comportamientos en el robot por medio de la programación de bloques gráficos. Por otro lado, los aficionados a la electrónica, informática y al mundo hágalo usted mismo (DIY, o "do it yourself" en inglés) tienen la posibilidad de reconstruir este robot, y realizar todas las modificaciones que estimen oportunas.

Quien desee reconstruir el robot tiene a su disposición de forma pública y libre toda la documentación y desarrollo creado para la concepción de este proyecto, para facilitar la construcción, y sobre todo la compresión del proyecto. Este proyecto abarca una gran cantidad de disciplinas, entre ellas:

  • Electrónica básica y diseño de circuitos.
  • Programación de microcontroladores.
  • Programación en Python para Raspberry Pi.
    • Creación de un servidor.
    • Control de dispositivos externos (leds, servos, ultrasonidos) mediante GPIO.
  • Programación en Android.
    • Uso de la API PhoneGap.
  • Programación mediante tecnologías web.
    • Especialmente en JavaScript.
  • Procesamiento de lenguajes: traducción de lenguaje gráfico a Python
  • Scripting en Bash
  • Manejo avanzado de Linux
  • Comunicaciones y redes: websockets, redes ad hoc, comunicación por puerto serie, configuración de redes,...
  • ... y un largo etcétera...

Por tanto, quien se aventure a reconstruir el robot disfrutará aprendiendo una gran cantidad de disciplinas relacionadas con la informática y la electrónica. Tanto el código fuente desarrollado en el proyecto, como los esquemas de hardware, el diseño, la documentación y mucha más información relacionada está disponible para su uso y modificación bajo licencias libres. Todo el trabajo realizado en este proyecto puede ser utilizado y modificado libremente, incluso con fines comerciales, siempre y cuando se mencione la autoría. Este trabajo se pone a disposición de todo el interesado con la esperanza de servir de inspiración a proyectos similares.

Y por supuesto, como no todo en la vida es trabajar y emplear el tiempo en realizar actividades con una finalidad concreta, Charlie también está diseñado como un elemento de ocio, experimentación y diversión con el que pasar un buen rato, al igual que un videojuego o una serie de televisión. Siempre puedes decidir perseguir a tu mascota mediante el modo de conducción libre, o comprobar la precisión del sonar a base de colisionarlo contra un objeto (preferiblemente acolchado).

Charlie como herramienta de iniciación a la programación

Un objetivo muy interesante es el de servir de ayuda a quien desee iniciarse en la programación. Este proyecto pretende facilitar la difícil tarea de aprender a programar mediante una serie de características y funcionalidades.

Quien se inicia en el mundo de la programación debe enfrentarse a dos batallas a la vez: trasladar sus ideas a sentencias lógicas y ceñirse a una sintaxis establecida. Mediante la programación gráfica eliminamos la barrera sintáctica, ya que el código siempre será sintácticamente válido. Por tanto, la programación gráfica permite a quien se inicia en la programación focalizar sus esfuerzos en el aspecto lógico de la programación.

Muchos de estos programadores nóveles pueden encontrar desalentador el hecho de enfrentarse a una pantalla en blanco con un cursor parpadeando. ¿Por dónde se empieza? Mediante una programación gráfica basada en bloques, estos usuarios pueden navegar a través del menú de bloques, y simplemente comenzar a conectar bloques para crear comportamientos.

La programación gráfica tiene otra ventaja: es más fácil comprender el comportamiento de un algoritmo dibujado que escrito. Las acciones que se realizan en un determinado código son fácilmente distinguibles de forma visual, con bloques claramente diferenciados, apoyados por colores que indican el tipo de bloque del que se trata. Por ejemplo, los bloques matemáticos tienen un color azulado, los bucles son verdes, y las funciones asociadas al comportamiento específico del robot adoptan el color negro.

Por último, se ofrece una alternativa interesante a la forma convencional de aprender a programar: el código realizado no se ejecuta como una aplicación de texto en una terminal, sino que es capaz de interactuar con el mundo real. Es decir, en lugar de un "Hola mundo" escrito en letras blancas y fondo negro, se ofrece la posibilidad de comenzar a programar parpadeando un led, o haciendo mover al robot en círculos. El aprendiz podrá tocar el robot y ver cómo el código que acaba de realizar se ejecuta en el mundo real, en lugar de detrás de un monitor. Esto pretende servir como elemento motivacional, para sembrar el interés de los más pequeños por la programación.

Clone this wiki locally