Archivo etiqueta Robótica

Aprendiendo del Caballero de la Noche

No es novedad que los vehículos autónomos ya son presente. Por lo menos, algunas de las tecnologías desarrolladas para su funcionamiento ya se encuentran en vehículos cotidianos, como el sistema automático de estacionamiento. ¡Bienvenidos sean! En Argentina hay 21 muertos diarios por accidentes de tránsito. Seguramente esta tasa bajará drásticamente.

Noticia del 7 de mayo de 2015

Ahora bien, este tipo de inteligencias artificiales sofisticadas, que tienen en sus manos decisiones que pueden definir vida o muerte de seres humanos, comienzan a plantear dilemas que dejan a las 3 leyes de la robótica por el suelo. Por ejemplo, supongamos que tenemos un auto que es capaz de analizar en tiempo real, muy rápidamente, la cantidad de víctimas probable en un accidente. Voy circulando por una ruta que tiene un barranco a mi derecha. De pronto, un auto que viene por el otro carril se asoma imprudentemente para sobrepasar un camión. Es inevitable el choque de frente. En mi auto estoy solo, en el otro hay cinco personas, entre ellas, tres niños. ¿Qué debe hacer mi auto? Pareciera que lo más razonable es que se lance hacia el barranco, salvando cinco por uno. Pero, ¿quién compraría un auto capaz de matarlo a uno en nombre de la humanidad? Esto es un dilema, y científicos, filósofos y abogados se han puesto a pensar cómo resolverlo.

Pues bien, tal vez inspirados en “Batman, el caballero de la noche”, encontraron una solución (si es que se puede llamar así). En un momento de la película, Harvey Dent tiene en sus manos al hijo de Gordon, y lanza la moneda para decidir si lo mata o no, diciendo “Tu creías que podíamos ser hombres decentes, en tiempos indecentes!Pero te equivocabas…el mundo es cruel, la única ética en un mundo cruel, es el azar… objetivo… imparcial… justo.”
Tal vez ese momento en el que el vehículo tiene que tomar una decisión tan terrible, es una clara representación de un mundo cruel. Y es por eso que los responsables de definir la ética de esta inteligencia artificial has determinado que la decisión debe ser aleatoria. Por lo tanto, cuando un auto tenga que hacer algo que finalmente dañe a uno o más seres humanos, y no se pueda evitar de ninguna manera, tomará su decisión, lisa y llanamente, lanzando la moneda… Como Harvey…

, , ,

No hay Comentarios

Robotics as a way of getting students closer to mathematical thinking

Today I’d like to share with you a fragment of “A Mathematician’s Lament”, by Paul Lockhart.

So how do we teach our students to do mathematics? By choosing engaging and natural problems suitable to their tastes, personalities, and level of experience. By giving them time to make discoveries and formulate conjectures. By helping them to refine their arguments and creating an atmosphere of healthy and vibrant mathematical criticism. By being flexible and open to sudden changes in direction to which their curiosity may lead. In short, by having an honest intellectual relationship with our students and our subject.

I think this post’s title and the cited fragment speak by themselves.

You can read the full piece here.

Hoy me gustaría compartir con ustedes un fragmento de “El lamento de un matemático”, escrito por Paul Lockhart.

De modo que ¿cómo deberíamos enseñar matemáticas a nuestros estudiantes? Escogiendo problemas naturales e interesantes, que vayan con sus gustos, personalidades y nivel de experiencia. Dándoles tiempo para hacer descubrimientos y formular conjeturas. Ayudándoles a refinar sus argumentos y creando una atmósfera de crítica matemática sana y saludable. Siendo flexibles y abiertos a cambios súbitos en la dirección a la que apunte su curiosidad. En resumen, manteniendo una relación intelectual honesta con nuestros estudiantes y las matemáticas.

Creo que el título de este post, en conjunto con el fragmento citado, hablan por sí solos.

Pueden leer la pieza entera acá

.

, , , , , , ,

1 Comentario

Creando a Mendieta

Hola a todos!
Como continuación de la presentación de “Mendieta” (ver aquí), en este post les contaré un poco como se creó y listaré sus componentes por si desean fabricarse una.
Como primera medida construimos una versión acotada de la placa, sin la posibilidad de manerar motores de corriente continua, aunque sí servos. Aunque utilizamos el PIC 18F4550 pensando en la versión definitiva, también podríamos haber recurrido al PIC 18F2550, que posee las mismas características, con la diferencia de tener menos cantidad de pines de entrada/salida, pero de ser mas barato y ocupar menos lugar.
Luego de realizado y probado el prototipo, en una placa preperforada y uniendo los componentes con cables “a mano”, nos centramos en diseñar el circuito, que quedó de la siguiente manera:
Mendieta Mega
Una vez transferido el diseño a la placa de cobre, se hicieron los agujeros correspondientes con mecha de 1mm, y se soldaron estos componentes:
· PIC 18F4550;
· L293D;
· 40-pin socket;
· 16-pin socket;
· 470uF electrolytic capacitor;
· 4.7 uF electrolytic capacitor;
· 22pF ceramic capacitors (2);
· .1 uF ceramic capacitor;
· USB connector type B;
· resistors 1 kilohm (2), 330 ohms (1);
· crystal 20 MHz
· red LED;
· reset button;
· terminal block;
· pin strips;
· Molex 3 pin connector (9)
El resultado, que ya está funcionando perfectamente, quedó así:
20140911_144626

Para terminar este post, les cuento que también diseñamos en Sketch Up una cajita contenedora, a fin de resguardar la electrónica y darle una mejor terminación al trabajo; la misma fue impresa con una impresora 3D. Les dejo una captura de pantalla del diseño 3D:
Diseño 3D

Esperamos sus comentarios y consultas…
Saludos,

Gabriel

, ,

No hay Comentarios

Physical Etoys tips – Time handling (part 1)

Hi everybody, today I’m going to start a new section here in our blog that I decided to call “Physical Etoys tips”. The idea is to share a couple of tips I’ve learned over the years. Our first tip is about handling the passing of time inside Etoys. So let’s get started!

As we all know, Etoys objects are alive, they interact with the user and with each other and we can teach them new ways of interaction by building scripts. These scripts are not simply executed, they run inside an implicit loop (kind of like a videogame). This execution model forces the user to split complex behaviours into steps that each object will perform on every tick, without needing to specify how the iteration will be performed. Thus, Etoys doesn’t have any “forever” or “repeat until” structure (although it does have a “repeat times” structure, which is convenient but arguably unnecessary).

This ticking model does not only reinforce the idea of objects being alive but it also makes concurrency fairly simple. As in reality, where a lot of things are happening simultaneously, in Etoys all scripts are virtually running at the same time. This is a very powerful metaphor, but it has a disadvantage: it makes some time dependent tasks (such as performing an action for an amount of time or waiting a couple of seconds before doing something) a lot more difficult. Unlike other visual programming languages (such as Scratch) there is no “wait” tile in Etoys.

Instead, we have several other mechanisms to deal with time:

  1. We can represent the passing of time visually and use the “Test” tile to react to it.
  2. We can use the playfield’s “timer” slot and measure how much time has passed since it was last reset.
  3. We can use the Digital Clock special slots: “hours”, “minutes”, and “seconds”.
  4. Or we can use the Timer object (introduced in Physical Etoys 2.1).

Today, we are going to talk about the first mechanism, visually representing the passing of time. And to do it we’ll build a simple device controlled by time: a traffic light.

We’ll need:

  • An arduino.
  • A breadboard.
  • 3 leds (red, yellow, and green. Duh).
  • 3 resistors (between 200 ohm and 2 kohm are probably ok).
  • Some wires.

We’ll start by building the following circuit.

Hola a todos, hoy voy a inaugurar una nueva sección aquí en nuestro blog que he decidido llamar “Physical Etoys tips”. La idea es compartir algunos tips que fui aprendiendo en estos años. Nuestro primer tip se trata del manejo del paso del tiempo dentro de Etoys. Así que manos a la obra!

Como todos sabemos, los objetos de Etoys están vivos, interactúan entre sí y con el usuario, y podemos enseñarles nuevas formas de interacción armando guiones. Estos guiones no se ejecutan como cualquier script sino que corren en un ciclo implícito (casi como en un videojuego) donde cada ejecución es denominada “latido”. Este modelo de ejecución obliga al usuario a dividir comportamientos complejos en pasos concretos que cada objeto debe realizar en cada latido, sin tener que especificar cómo la iteración se llevará a cabo. Por esta misma razón, Etoys no tiene ninguna estructura de control “por siempre” o “repetir hasta que” (aunque sí tiene una estructura “repetir # veces”, que es conveniente pero cuya necesidad es discutible).

Este modelo de “latidos” no solo refuerza la idea de los objetos como entidades vivas sino que también hace muy fácil el pensar el comportamiento de forma concurrente. Como en la vida real, donde muchas cosas están pasando simultáneamente, en Etoys todos los guiones están virtualmente latiendo al mismo tiempo. Esta metáfora es muy poderosa pero tiene una desventaja: dificulta algunas tareas dependientes del paso del tiempo (por ejemplo, ejecutar una acción durante un tiempo determinado o esperar unos segundos antes de hacer algo). A diferencia de otros lenguajes de programación visuales (como Scratch) no hay ninguna instrucción “esperar”.

En su lugar tenemos otros mecanismos para lidiar con el tiempo:

  1. Podemos representar el paso del tiempo visualmente.
  2. Podemos usar la variable “cronómetro” del Campo de Juegos y medir cuánto tiempo pasó desde la última vez que fue reiniciado.
  3. Podemos usar las variables del Reloj Digital: “horas”, “minutos”, y “segundos”.
  4. O podemos usar el objeto Timer (introducido en Physical Etoys 2.1).

Hoy vamos a hablar del primer mecanismo, la representación visual del paso del tiempo. Y para hacerlo vamos a construir un dispositivo sencillo controlado por el tiempo: un semáforo.

Vamos a necesitar:

  • Un arduino.
  • Un protoboard.
  • 3 leds (rojo, amarillo y verde).
  • 3 resistencias (entre 200 ohm and 2 kohm deberían andar bien).
  • Unos cuantos cables.

Empezamos armando el siguiente circuito.

Traffic light_bb.3

Back in Physical Etoys, we’ll get an Arduino board from the bottom tab and we’ll connect the 3 leds. Changing the led colors and giving them proper names will allow us to identify them easily.
De vuelta en Physical Etoys, vamos a sacar un Arduino board de la pestaña inferior y le vamos a conectar 3 leds. Cambiamos los colores de los leds y les ponemos nombres para poder identificarlos rápidamente.

trafficlight-pe

leds

Now we’ll draw an object that will give us some notion of time passing, it can be almost any object but I’ll draw a small line with a blue tip on one side (this is an important detail, as we’ll see later).
Ahora vamos a dibujar un objeto que nos de alguna noción del paso del tiempo, puede ser casi cualquier objeto pero yo voy a dibujar una pequeña línea con una punta azul en uno de sus extremos (este detalle es importante, como veremos más adelante).

marker

By changing its rotation center and making a very simple script we can make our line rotate.
Cambiando su centro de rotación y con un sencillo guión podemos hacer que nuestra línea gire.

marker.3

Now we’ll use the blue tip as a marker. By testing which color is underneath the blue marker we can know which led to turn on.

For this we need an object that uses color to represent the different states of a traffic light. My drawing skills are very limited so in my case I used a couple of Sector objects (that you can find in the object catalog) to make this:

Vamos a usar la punta azul de nuestro objeto para testear qué color está debajo y así saber qué led prender.

Para esto necesitamos un objeto que use colores para representar los diferentes estados de un semáforo. Mis habilidades artísticas son bastantes limitadas por lo que, en mi caso, use varios objetos Sector, que pueden encontrar en el Catálogo de objetos.

traffic-light

As we can see, each section of the circle represents a different state of the traffic light:
Como podemos ver, cada sección del círculo representa un estado diferente del semáforo:

traffic-light.states

Then we can put our marker in the center of the object so that the blue tip can touch all the different states:
Luego ponemos nuestra línea en el centro del objeto de forma que en su giro completo pase por todos los diferentes estados.

marker.7

 

And now the only thing left is to detect which color is underneath the blue tip and turn on the appropriate led, which is as simple as this:
Y ahora lo único que falta es detectar qué color está debajo de la punta azul y prender el led correspondiente, que es tan simple como esto:

Script Editor

The result: El resultado final: http://youtu.be/5aaxMj3dPyI

And that’s all! :)

If you’re too lazy to do it yourself, you can download the full project here: http://tecnodacta.com.ar/gira/examples/TrafficLight.002.pe. And if you use a different mechanism to perform waiting in Etoys, please let me know in the comments.

And, as always, have fun!

¡Y eso es todo! :)

Si son demasiado vagos para hacerlo ustedes mismos, pueden descargar el proyecto completo aquí: http://tecnodacta.com.ar/gira/examples/TrafficLight.002.pe. Y si usan un mecanismo diferente, por favor háganmelo saber en los comentarios.

Y, como siempre, ¡que se diviertan!

 

, , ,

No hay Comentarios

“Mendieta”: proyecto de hardware libre para robótica educativa

Hola a todos!!

Este es mi primer post en el Blog de GIRA; trataré de ir compartiendo mi trabajo con Uds.
Desde que me uní al grupo, estuve trabajando en un proyecto de hardware de bajo costo para robótica, que fuera de fácil construcción y programación, y mas barato que las placas comerciales, como Arduino o Duinobot. Por otra parte, deseábamos que tuviera mayores prestaciones nativas que por ejemplo la placa Pingüino, es por ello que se incorporó un hub de motores, utilizando el integrado L293D, lo que permite manejar 2 motores de CC o un motor PAP en forma bidireccional, y varios servos.
En el proceso de investigación de mercado, tuvimos en cuenta que Mendieta iba a ser conectada al puerto USB, por lo que el microcontrolador debía permitir fácilmente este tipo de conexión. Entre varias opciones, se destacaban los PIC 18F2550 y 18F4550, ambos con interface USB 2.0 nativa y similares características. Nos decidimos a utilizar el 18F4550 por poseer mas puertos digitales y analógicos que el anterior.

El circuito básico de Mendieta se diseñó con Livewire y se le dio la forma definitiva con PCB Wizard. Actualmente estamos con los últimos detalles del hardware y diseñando la “cajita” contenedora, como así el firmware, pero les voy adelantando la forma del circuito y 1º prototipo de Mendieta (en ese momento la parte de motores estaba separada para facilitar las pruebas):

Circuito y 1º prototipo

Próximamente postearé mas detalles de la construcción y, como será open hardware también estarán a su disposición los archivos para imprimir el circuito, el listado de componentes y el firmware para descargar… Ah, y obviamente Mendieta será un nuevo modulo en Physical Etoys…
Saludos,

Gabriel

, , , ,

No hay Comentarios

SqueakFest 2012 Argentina – Material

Hola a todos,
En los links siguientes se encuentran colgados los materiales usados en los talleres y conferencias del Squeakfest 2012.
1) Material de Iris Fernandez
2) Links de Jose Miguel Garcia (Taller de Robótica)
Fotos del taller:
Acceso al capítulo de Robótica del libro azul de Ceibal, que les dimos a los participantes como referencia:
3) Links de Patricio Acevedo
4) Presentación de Alejandro Artopoulos
5) Material de Randall Caton
6) Material de Rita Freudenberg
7) Material de Sandra Godoy (Taller de Ciencias Sociales)
9) Material de Matias Teragni (Taller de Matemáticas)
10) Material de Ricardo Salvador:
11) Material de Steve Thomas:
12) Presentación de Santiago Ceria:

, , , , ,

2 Comentarios

SqueakFest 2012 Argentina – Día 1

Habiendo terminado el primer día de la conferencia SqueakFest 2012 Argentina, podemos decir que ha sido hasta ahora más que gratificante poder compartir la experiencia de quiénes han venido utilizando Etoys para enseñar desde hace años. ¡Esperamos que los próximos días sigan así!

Hoy tuvimos, al comenzar la mañana, la conferencia plenaria de Rita Freudenberg, directora del equipo de educación de la fundación Squeakland, quién nos dió un panorama de cómo debería ser la educación que tuviera en cuenta la “alfabetización computacional” (traducción más o menos literal de Computer literacy), por qué esto es importante y cómo puede ayudar Etoys.

Luego tuvimos una serie de tres talleres en paralelo para iniciar a los docentes que no tuvieran ningún contacto previo con Etoys. Estos talleres fueron dictados por Ricardo Salvador, nuestro mentor Gonzalo Zabala, y el que suscribe. No puedo hablar por los demás, pero personalmente considero que los mismos fueron bastante satisfactorios.

Por la tarde, seguimos con talleres en paralelo, esta vez con: Patricio Acevedo, quién mostró como usar Etoys para enseñar Ciencias Sociales; Aldo Ferrari, enseñando robótica con Physical Etoys; nuestro compañero Matías Teragni, con una clase de matemática con Etoys; y la presencia remota de Steve Thomas, quien desde Estados Unidos nos mostró algunas actividades didácticas con Etoys y nos hizo participar en una actividad muy divertida llamada “How to train your robot“, donde tuvimos la chance de programar a nuestro robot Rita y molestarla un poquito :)

Finalizando el día tuvimos la excelente charla de Randall Caton, miembro del equipo de educación de Squeakland, y desarrollador de herramientas en Etoys para los programas de la NASA y para cursos de física. Su charla nos mostró, con varias actividades, cómo aplicar Etoys siguiendo los preceptos del estudio “How people learn“, cuyo libro puede conseguirse gratuitamente online (en inglés, lamentablemente).

De más está decir que la organización del evento se portó de maravilla, proporcionando desde café y galletitas hasta equipos de traducción en simultáneo (además del lugar físico para realizar la conferencia). Un gran aplauso para ellos :)

Por último, no se olviden de chuzmear el blog de vez en cuando que vamos a ir posteando (probablemente mañana, o sino cuando podamos) los proyectos y presentaciones de los disertantes. Asi que si estaban interesados en algún ejemplo que se mostró hoy durante alguna charla (sé de muchos que quedaron encantados con los proyectos de Steve), ¡estén atentos!

Saludos,

Richo

, , , , ,

1 Comentario

GIRA Reloaded

Y en un abrir y cerrar de ojos se vino el pintoresco otoño en Buenos aires…

Estamos muy pero muy contentos de anunciarles que Physical Etoys llegó a su versión 2.0 y vendrá en TODAS las computadoras de Argentina asociadas al plan Conectar Igualdad! Se siente muy bien saber que desde acá podemos aportar nuestro granito de arena en pos de la educación del país. Ya está disponible para bajar de la página de Physical Etoys.

Demás está decir que nos gustaría recibir sugerencias y críticas pero por sobre todas las cosas que nos cuenten sus experiencias y nos muestren sus creaciones como alumnos, docentes o desarrolladores; no sólo nos motiva aún más con el proyecto sino que nos permite ver con más claridad cómo mejorar.

Aviso para los docentes:

Se realizará en Mayo un evento importantísimo y muy copado llamado Squeakfest en el cual se confirmó la visita de docentes de todo el mundo a compartir sus experiencias y a realizar talleres acerca de cómo se puede utilizar principalmente Etoys (y otros programas) de manera satisfactoria en el aula abarcando diferentes asignaturas como: lengua, matemática, dibujo, música, robótica entre otras.

Las fechas son las siguientes:

17, 18, 19 de Mayo en Montevideo, Uruguay.

21, 22 y 23 de Mayo en Buenos Aires, Argentina. Más información

Habrá café, galletitas y muchas ganas de aprender. ¡Los esperamos!

También el viernes 11 de Mayo estaremos dando dos talleres de introducción a Etoys (tanto para docentes como para alumnos) en la localidad bonaerense de Chivilcoy en el evento Prociencia.

Para los que visitan por primera vez esta página les comentamos que la filosofía de Physical Etoys es poder ayudar a que los niños modelen y programen el mundo real para aprender más acerca del mismo. Aquí pueden ver unas diapositivas. Para los recién iniciados que les interesa la propuesta en esta página iremos subiendo algunos tutoriales (nuestros o de otros docentes) más allá de los que ya están.

Por otra parte, estuvimos en el laboratorio jugando un poco con el cuadricóptero Ar-Drone y el kit de robótica Bioloid y nos gustaron tanto que nos motivó a tirar magia en algún que otro código.

Bueno, eso es todo por ahora. Más que nunca, hay mucho por hacer.

Que se diviertan!

Sebas

, , , ,

No hay Comentarios

¡Alegría!

En medio de una lluvia y cruzando los Alpes, sentados en un tren que va a Zurich nos ponemos a escribir estas letras para decirles que tenemos excelentes noticias: Physical Etoys nos alegra aún más. Salimos primeros en el Innovation Technology Awards de la European Smalltalk User Group Conference 2010 lo que significa que hubo varias personas que les gustó nuestro software.

Por otro lado, en la universidad de Willmington en Carolina del Norte, Estados Unidos se realizó un campamento de computación y modelado en el que se introdujo Physical Etoys a adolescentes de escuela secundaria. Tuvimos buen feedback tanto de los profesores como de los niños y planean hacer más eventos similares. Hasta organizaron una competencia de Sumo de robots con varios lenguajes de programación para elegir y no sólo la mayoría eligió Physical Etoys sino también el equipo ganador. En el link anterior se pueden ver varios videos entre otras cosas.

Gonzalo también nos representó en Bratislava, Eslovaquia en la conferencia Robotics in Education 2010. El paper que presentamos en el evento fue categorizado como “de alta calidad” y saldrá en el ATP Journal. Cuentan por ahí que Gonzalo hasta se animó a hacer chistes en inglés que fueron bien recibidos por el público.

También les anunciamos que se unió formalmente al equipo Gira un excelente desarrollador (con ideas locas) llamado Matías Teragni, conocido como Tera.

Agradecemos también al Caeti por darnos el espacio para trabajar y a la gente de todo el mundo (España, Francia, Alemania y un gran etc.) que nos brindó no sólo ideas sino también líneas de código. Por este medio decimos que todo aquel que nos quiera ayudar (no necesariamente en programación o educación) será bienvenido. Nosotros creemos que cada uno siempre tiene algo bueno para aportar.

Resumiendo, estamos orgullosos de anunciar que Physical Etoys va a mejorar más que nunca.

Have fun!

, , , ,

1 Comentario