lunes, junio 05, 2017

Siga la línea (lo mejor que pueda)


Quizá una de las funciones más interesantes de los robots creados para robótica educativa es la que involucra los sensores de línea a los que había presentado en un viejo post hace ya algún tiempo.

El sensor de líneas permite dectectar "blanco" o "negro" sobre el suelo, lo cual resulta ideal para que el robot circule de acuerdo a un camino (o pista). Un programa básico para hacer funcionar al robot sobre una pista sería el siguiente:



En esta versión, el sensor detecta si se aleja de la línea blanca para corregir el curso con un giro según corresponda. El programa parece funcionar muy bien cuando lo probamos:



Pero... ¿si en vez de utilizar una línea blanca, utilizáramos una línea negra como pista? El desafío parece ser simple: invertimos los colores de detección y los correspondientes giros. Sin embargo, al probar el código en otra pista el robot pierde el curso y en curvas más exigentes se despista. Esto nos pone frente al desafío de intentar un programa más preciso. Veamos este intento:



Este es otro modo de pensar el código en el cual se coloca como condición a la eventual situación en la que se encontrarían ambos sensores para decidir giros y nivel de velocidad. El resultado es más preciso. El robot ya no pierde la línea tan facilmente como con la versión anterior.



Sin embargo, subsiste una falla... si el robot pierde la línea comienza a girar sobre sí mismo, lo cual reduce sus posiblidades de volver a encontrar la línea por la cual circulaba. ¿Cómo podría solucionarse esto?


Preguntas como esta se sucederán una y otra vez al probar el programa en pistas distintas. Y así es como el desafío se renueva y puede volverse más exigente. Porque no hay una única solución. No sirve con que funcione "teóricamente", el robot tiene lograrlo, hay que identificar el problema y proponer una hipótesis para corregirlo. Y cada vez que lo volvemos a pensar, hay algo nuevo que aprender. 



lunes, mayo 22, 2017

"MakeBlock" para Linux

Hoy retomo los desafíos de robótica educativa, que dejamos pendientes y con una excelente noticia. MakeBlock está disponible para Linux y resuelve en un solo paso todos los trucos que en su momento explicaba en este viejo post.

"MakeBlock" le da la bienvenida a mi Ubuntu

Eso significa que, ya no tendremos que utilizar Wine y que además no será necesario copiar y pegar el código en un IDE para cargarlo en la placa Arduino del Robot sino que esto esto se podrá hacer directamente desde el mismo entorno.
La forma de cargar el programa a través de un cable USB es muy simple:
  1. Hacer click sobre el bloque “mBot Program” aparecerá automáticamente la “traducción del código” en una columna ubicada a la derecha
  2. Conectar la placa de Arduino al Robot con el cable USB (¡no se olviden de encender la placa!)
  3. Asegurar que el puerto está conectado. Para ello verificar en el menú superior la habilitación del puerto USB.
  4. Hacer click sobre el botón “upload to Arduino”.

Carga del programa en cuatro pasos



El programa comenzará a cargarse mientras se muestra el código binario al pie de la columna derecha. Cuando esté listo, aprecerá un cartel que dirá “upload finish”. Entonces, ya podemos desconectar el cable y verificar si el programa funciona como lo deseamos.


Y si cuando arranca nuestro robot… lo que pasa no es lo imaginado, ya saben, a revisar el programa ¡y a volver a empezar con una nueva versión!

Por último, solo una cosita: para editar directamente el código (hemos mostrado algunos ejemplos de como esto podría ser necesario en nuestro post “Música Robótica”) ahí sí deberán utilizar el IDE de Arduino porque MakeBlock solo permite la edición del programa uitlizando los bloques.

Este es el sexto post sobre nuestras experiencias con mBot. Si te interesa conocer como llegamos aquí podés vistar nuestros post anteriores: “Primeras experiencias en robótica educativa”,  “Con ojos de robot”,  “¡Alto ahi”: Programando con el control remoto” y “Música Robótica” y “Bailando por un programa” en este mismo blog.

lunes, mayo 08, 2017

Programar para aprender: el diseño de una capacitación docente en línea


En los últimos años se han conocido diversos programas con el propósito de introducir la enseñanza de la programación en la escuela. El interés por estos contenidos se funda, entre otras cuestiones, en las ventajas de promover habilidades lógico matemáticas propias del pensamiento computacional en etapas tempranas.

A fin de capacitar a los docentes se ofrecen cursos y talleres generalmente en formatos presenciales e híbridos. Pero para ampliar geográficamente este alcance se requería una propuesta complementamente en línea. 

En alianza con Chicos Net, el PENT de Flacso Argentina asumió esta tarea, cuyo desarrollo y alcance fueron abordados en este artículo que referimos y que  escribimos para el Congreso Interfaces de la UP junto a mi colega Juan Pablo Baraga.

Hemos desarrollado en este artículo el enfoque de la Programación Creativa, que busca la convergencia entre la tradición pedagógica desarrollada la última década en materia de inclusión de TIC con sentido pedagógico y este interés emergente por la enseñanza de la programación.


En segundo lugar, hemos descripto las estrategias de eLearning que tomamos para abordar esta capacitación en "Programación Creativa" buscando una solución intermedia entre el enfoque de la Educación en Línea y los cursos MOOC.



jueves, enero 26, 2017

¿De eso no se habla? Hablemos de la Deep Web.

Solemos creer que una de las características de nuestros tiempos es la facilidad de acceso a la información. Por cierto, todo parece estar al alcance de Google. Pero esto no es tan exacto ya que gran parte del contenido en la red se encuentra oculto o difícil de acceder. Es por esto que la parte de la Web conocida como Deep Web (Web profunda) se fue ganando todo el misterio de una leyenda urbana. Para algunos es el territorio de criminales de todo tipo y, para otros, el último refugio de la privacidad y la libertad. Y así están las cosas hoy por hoy. Pero antes de sacar conclusiones, revisemos las definiciones...


¿Profunda o oscura? Deep Web vs. Dark Web
Como en tantos otros órdenes, las cosas no suelen ser blanco o negro. En efecto, aquí también existen diferentes niveles de profundidad… o de luz, si se quiere. En línea con las metáforas de océanos y navegantes, es frecuente representar la web como un iceberg, donde solo existe una pequeña superficie visible mientras que gran parte permanece desconocida y oculta en las profundidades.




La superficie visible (Surface Web)
La superficie visible de la web está formada por esos sitios con los que estamos más familiarizados porque allí se encuentra todo lo que puede ser indexado por un motor de búsqueda como Google (o Bing, o Yahoo). Estos motores de búsqueda se basan en páginas que contienen enlaces que permiten identificar contenido, organizarlo y, luego, encontrarlo cuando lo buscamos. Pero no todos los contenidos son indexados de este modo ya que no todos cumplen con los requisitos técnicos que requiere la indexación. ¿Qué sucede, entonces, con los contenidos que permanecen por fuera de la indexación? Para saberlo, es necesario sumergirnos un poco hacia el sector invisible del témpano.


Comenzamos a sumergirnos (Deep Web)
Por contraste de definiciones, en un sentido estricto, se dice que así como la Web superficial (Surface Web) es aquello que cualquier motor de búsqueda puede encontrar, la Web profunda (Deep Web) es todo lo que, al no estar indexado, resulta un poco más dificil de hallar para el usuario. ¿Cuando sucede esto? Veamos algunos ejemplos:
  • Cuando los contenidos están organizados a través cajas de búsqueda y son invisibles para los motores de los buscadores que solo utilizan links y por lo tanto no pueden reconocerlos ni organizarlos.
  • Cuando los contenidos están dispuestos en bases de datos que no son técnicamente preparadas para que los datos sean indexados por lo que permanecen fuera del rastreo sistemático de los buscadores. Suelen ser datos no indexados gran parte de la información académica, médica, documentos legales, reportes científicos, bases multilingües, fuentes gubernamentales, repositorios particulares, etc.
En síntesis, los motores de búsqueda no siempre pueden indexar los contenidos publicados en la web y pueden permanecer ciegos frente a estos datos. La mayor parte del contenido ubicado en la Web Profunda (Deep Web) se refiere a este tipo de datos y no necesariamente se trata de información ilegal o espeluznante. En términos prácticos, solo se trata de datos a los que resulta más difícil acceder.


Oscuras profundidades (Dark Web)


Pero la cuestión cambia bastante cuando llegamos a la Web Oscura (Dark Web) que es esa porción de la Deep Web que, por motivos diversos, fue deliberadamente escondida y la razón por la cual resulta inaccesible a través del uso de un navegador web estándar. El contenido más célebre de la Dark Web es el que se encuentra en la red TOR, una red anónima a la que sólo se puede acceder con un navegador web especial: el navegador TOR. Este navegador, se presenta desde su página Web como un refugio para la libertad y el derecho al anonimato:


Tor es un software libre y una red abierta que contribuye a defenderse del análisis del tráfico en la web, una forma de vigilancia que amenaza la libertad personal y la privacidad, las actividades y relaciones comerciales confidenciales y la seguridad.


La presentación de TOR concluye con una apología del anonimato que se logra en la red evitando la identificación de la conexión a Internet del usuario y a partir de ello, el reconocimiento de los sitios que visita o su ubicación física.


De esta forma, TOR permite acceder a sitios que permanecen ocultos y hacerlo desde el anonimato. En sí mismo, esto no parece tener nada de malo, sin embargo,es aquí donde aparece la misteriosa Dark Web. Se dice que en esa parte de la web pueden hallarse servicios al margen de toda ley en los cuales, involucrarse puede dejar al usuario con muy pocos recursos para defenderse:la pregunta es entonces... ¿qué tanta libertad y seguridad nos permite la Dark Web?


En un próximo post hablaremos de ello, porque vale retomarlo...


Referencias: