programando con microsoft robotics studio
DESCRIPTION
Artículo parte de los retos Microsoft Student Partners de Microsoft MéxicoTRANSCRIPT
Programando con Microsoft Robotics
Studio.
Por Alejandro Martínez.
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.
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.
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.
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
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.
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.
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.
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.