Programando con Microsoft Robotics Studio.

Por Alejandro Martínez.

Microsoft Robotics Studio Para la instalación es necesario que descargues el instalador de forma gratuita del siguiente sitio http://msdn.microsoft.com/robotics la última versión que está disponible es la 1.5 CTP de Mayo durante la instalación te recomiendo tener una conexión a Internet ya que muchas veces es necesario descargar e instalar complementos de DirectX, el .NET Framework y también se instala la máquina de simulación física de AGEIA PhysX.

En 1942 con la publicación de Yo Robot, Isaac Assimov popularizo el concepto de robot en todo el mundo, conocido desde entonces como el padre de la robótica Assimov en su libro vislumbraba un mundo en donde robots y humanos trabajan juntos para resolver todo tipo de problemas, con este libro Assimov de alguna manera había abierto una ventana hasta entonces desconocida para la mayoría de la gente. 64 años después y resultado de una serie de visitas a universidades de Estados Unidos, Bill Gates el presidente y fundador de Microsoft descubrió un común denominador en los proyectos que se le presentaban como parte de la visita, la robótica y fue entonces cuando Bill Gates tuvo una de esas ideas visionarias que lo caracterizan, pensó que el momento histórico que vivimos con respecto a la robótica hoy día es similar al que él vio hace 30 años cuando la computadora supero la ciencia ficción y se convirtió en una herramienta para explotar el potencial de las personas, el sueño de que existiera una computadora en cada casa crece con el paso de los años y hoy el sueño de un robot en cada casa apenas comienza. Con esta visión y con el objetivo de enfrentar los actuales retos de la robótica hoy día, Bill Gates fundo el Microsoft Robotics Group cuya tarea fue crear el Microsoft Robotics Studio una plataforma de desarrollo para la comunidad robótica basada en Windows soportando a una gran cantidad de usuarios, hardware y escenarios de aplicación.

Entorno de Simulación Si te estás preguntando si es necesario tener un robot para ocupar el software la respuesta es no. Puedes generar algunos programas en los que no necesariamente necesitas utilizar un robot, ahora que si quieres enfocarte a esa área puedes aprovechar para probar alguno de tus programas ya que Microsoft Robotics Studio incluye una herramienta de simulación física en la cual puedes simular tu robot en un ambiente virtualmente real esta máquina es de una empresa que se llama AGEIA y su nombre es PhysX y viene incluida con Microsoft Robotics Studio. Pero que sucede si tienes un robot o planeas comprar o armar uno, pongamos manos a la obra.

Programando usando Visual Programming Language Una de los nuevos programas que veras instalado dentro de la carpeta de Microsoft Robotics Studio es el Visual Programming Language un software que te permite programar robots de una manera práctica y sencilla, sin código, mediante el uso de bloques que se arrastran hasta el área de trabajo y después se unen mediante enlaces que sirven para darle flujo a los datos.

En la sección de Services buscamos fischertechnik y lo arrastramos a la sección de diagramas y ahí lo soltamos, también podemos agregarlo utilizando doble click.

Vamos a construir una aplicación sencilla para un robot de la marca alemana fischertechnik se trata de una aplicación que nos avisara cuando un flujo de luz que va de un led a un fotosensor sea interrumpido, esta es una aplicación común y muy sencilla, se utiliza regularmente por ejemplo cuando entras a algún comercio y suena una alarma y su aplicación la podemos encontrar incluso en los elevadores. Vamos a ejecutar el Visual Programming Language y veremos la siguiente pantalla

Este bloque nos ayudará a accesar a la interfaz de fischertechnik mediante la cual podemos controlar sensores analógicos, sensores booleanos, motores o algún otro tipo de actuador. En este caso vamos a arrastrar dos bloques o también podemos decir que vamos a crear dos instancias del mismo elemento. Ahora tendremos que arrastrar otros bloques y unirlos para darle la funcionalidad que queremos a nuestra aplicación. Los bloques que arrastraremos y sus respectivas configuraciones son: Simple Dialog.- nos servirá para desplegar una ventana informando del estado del sensor. If.- nos servirá para evaluar el estado del foto sensor, si su estado cambia entonces desplegaremos el cuadro de dialogo.

Data.- es necesario que le asignemos una cadena de caracteres al cuadro de dialogo para mostrar el estado del sensor. Timer.- Este bloque nos ayudara a actualizar la información que recibimos de la interface utilizando una propiedad que se llama tick que tiene un intervalo de 1 segundo. Una vez arrastrados los bloques listados arriba ahora puedes crear los enlaces antes de eso vamos ver como acomodamos estos bloques para después poder unirlos.

Así que tendrás que configurar cada uno de los enlaces que generas para que el diagrama pueda funcionar adecuadamente a continuación veras la configuración correcta de cada uno de esos enlaces y también agregar valores para esas conexiones. Timer (tick) ---------------- (get) fischertechnik If()- (SetMotorsRequest)fischertechnik/M1=5 Data ------- (AlertDialog) SimpleDialog / Value Es muy importante que recuerdes que el flujo del diagrama corre de izquierda a derecha y que por tal motivo todas las entradas de los bloques se encuentran a la izquierda y las salidas a la derecha. Una vez hecho el diagrama tenemos que especificarle al Visual Programming Language que tipo de hardware vamos a utilizar para ello es necesario ocupar un archivo XML que se conoce como manifiesto, el manifiesto es un archivo de configuración que le indica al Visual Programming Lenguage como funciona y qué tipo de hardware tenemos. Agregamos el manifiesto al bloque necesario que en este caso no es necesario, ya que lo hacemos al utilizar el servicio de la interfaz de fischertechnik, ya está todo está listo para ejecutarse, conectamos el robot a la computadora y eso es todo, cada vez que interrumpamos el haz de luz aparecerá un cuadro de dialogo cada segundo indicándonos esta situación hasta que se restablezca el paso del haz de luz. Recuerda que Microsoft Robotics Studio se instala con toda la documentación necesaria, ejemplos y tutoriales que te guiaran para que puedas aprender más de esta herramienta.

Como puedes ver en la figura anterior tenemos ya los bloques ordenados y enlazados, para crear el enlace basta con que des click en uno de los puntos rojos del bloque y lo arrastres hasta el bloque con el que deseas conectarlo una vez que lo hagas te aparecerá una ventana para que configures adecuadamente el enlace.