Share via


Microsoft Robotics Developer Studio - Tutorial en español

Microsoft Robotics Studio es un entorno de desarrollo orientado al desarrollo de aplicaciones  en robótica. Una de las ventajas de MRDS es proporcionar una plataforma de desarrollo de robótica con soporte de concurrencia en tiempo real orientado a servicios y una plataforma escalable y extensible. Podemos descargar de manera gratuita desde el siguiente enlace: http://www.microsoft.com/robotics

Los principales componentes de Robotics Studio son:

  • Un Lenguaje de Programación Visual  (VPL), que permite la creación intuitiva de aplicaciones para robots.
  • Un entorno de simulación Visual 3D basado en el motor de simulación física AGEIA.
  • Soporte en tiempo de ejecución (Runtime) que gestiona la entrada/salida asíncrona, la concurrencia y la distribución de servicios.

MRDS está diseñado para ser una plataforma de desarrollo genérica que pueda emplearse con gran diversidad de fabricantes de robots, existen gran variedad de servicios que operan directamente con los modelos de robots más populares. Una aplicación en Robotics Studio es en esencia una coordinación de diversos servicios distribuidos y asíncronos. Por ejemplo, el sensor de contacto se representa por un servicio que ofrece una entrada de información, un motor o actuador tendrá otro servicio asociado que representa la respuesta física del robot, finalmente, un servicio controlador se encargaría de interpretar la información obtenida del sensor y mandaría los comandos apropiados al actuador, para que este realize una determinada operación.

La coordinación se produce en la comunicación asíncrona entre todos estos servicios. Por ejemplo, si el servicio de parachoques detecta un impacto, éste envía un mensaje al servicio controlador, que a su vez decidirá qué mensaje enviar al servicio de control de ruedas para realizar la maniobra oportuna. Este escenario se complica cuando el número de sensores y de actuadores aumenta, sin embargo, el servicio coordinador (o servicios coordinadores) debe manejar mucha información en tiempo real y aplicar complejas políticas de control.

El soporte de tiempo de ejecución o Runtime de MRDS consta de dos componentes principales que hacen posible la construcción, supervisión, despliegue y funcionamiento de un gran rango de aplicaciones. Estos dos componentes son el CCR (Concurrency and Coordination Runtime) y el DSS (Decentralized Software Services).

El CCR permite la coordinación concurrente y asíncrona del flujo de ejecución abstrayendo al programador del uso de hilos, semáforos y otras técnicas de más bajo nivel para el aseguramiento de la exclusión mútua o la prevención del interbloqueo. Además plantea un modelo de programación asíncrona que facilita y optimiza la explotación de un entorno de ejecución paralelo o multihilo. Cabe destacar que el CCR es un componente DLL que se ejecuta en el entorno .NET y accesible desde cualquiera de los lenguajes de programación disponibles en .NET.

El DSS combina la arquitectura tradicional Web (HTTP) con elementos de las nuevas arquitecturas orientadas a servicios Web (SOAP). La arquitectura resultante está completamente basada en servicios que se coordinan entre sí para crear aplicaciones distribuidas. Por lo tanto, desde este punto de vista, una aplicación desarrollada en Robotics Studio es un conjunto de servicios que se coordinan entre sí. El principal objetivo es promover la simplicidad, transparencia y la interoperabilidad. Las composiciones de servicios se pueden usar sin importar si estos servicios están funcionando dentro del mismo nodo o a través de la red. El resultado es una plataforma flexible capaz de soportar un amplio rango de aplicaciones. El DSS utiliza los protocolos HTTP y DSSP. DSSP es un protocolo propio que ofrece DSS y se encarga de la mensajería entre servicios. Los servicios mantienen un estado durante el periodo de vida de la aplicación y se ejecutan en nodos DSS, que son los encargados de posibilitar la comunicación entre todos los servicios.

Programación de Robots Mindstorm con MRDS

LEGO MINDSTORMS NXT (NXT), se refiere al kit de robótica de 32 bits suministrado por LEGO ®. Este Kit de robótica ofrece Bluetooth ® y la comunicación USB entre el ordenador y el ladrillo inteligente NXT. Para preparar el NXT para su uso debemos asegurarnos que el Firmware más reciente se encuentre instalado (esto se puede hacer con el software Mindstorm que viene con el kit de robótica)

Después de descargar el firmware procedemos a  configurar el adaptador Bluetooth del ordenador para comunicarse con el NXT. Seguir las instrucciones proporcionadas por el equipo, realizar los siguientes pasos:

  1. Abrir el applet de configuración de Bluetooth ®. Hacer doble clic en el icono Bluetooth en la barra de tareas.
  2. Seleccionar Añadir una nueva conexión, buscar los dispositivos Bluetooth ® que están en el rango.
  3. Una vez que el dispositivo está emparejado, ver las propiedades o los datos para averiguar qué puerto COM se ha asignado a la NXT.
  4. Si el administrador de Bluetooth ® no indica el puerto COM, abrir el Administrador de dispositivos del ordenador, examinar los puertos (COM & LPT)

Configuración del LegoNXTBrick

Todos los sensores y actuadores deben coordinar con el ladrillo inteligente es decir  con el LEGO LEGO ® NXT Brick. Este es el servicio que se comunica directamente con el hardware de ladrillo NXT. Para configurarlo debemos seguir los siguientes pasos:

Abrir  Microsoft Visual Programming Language, seleccione LEGO® Ladrillo NXT (v2) y arrástrelo a un nuevo diagrama.

Ahora ya está listo para configurar el ladrillo. En la ventanade Propiedades, observar la opción de  Configuración y seleccione configuración inicial.

Luego configurar el NxtBrickState. Seleccione el "+" al lado de "Configuración" para expandir la configuración del Estado NxtBrickState.

Introduzca el dato del  puerto serie que le permite conectar el NXT de LEGO a través de Bluetooth. Mediante la selección de ShowInBrowser, La interfaz de usuario para el NXT de LEGO ® Service se abrirá en un explorador Web cada vez que se inicia el servicio. Esto es útil para ver la configuración y funcionamiento del estado de los dispositivos conectados a la LEGO ® NXT Brick.

Configuración del Touch Sensor

Arrastrar un  Touch Sensor (v2) NXT de LEGO a su diagrama.

Establecer la configuración inicial. Conecte el sensor de contacto en el puerto 1 del  ladrillo y seleccione Sensor1 en la configuración. Opcionalmente podemos asignar un nombre, dejar la frecuencia de sondeo establece en 0, que es el predeterminado.

Configuración del Light Sensor

Arrastre el Sensor de luz (v2) LEGO® NXT a su diagrama.

Conectar el sensor de luz del sensor de Puerto 2 y configurar. dar el sensor de un nombre. dejar la Frecuencia en 0, que es el predeterminado. Ison especifica si la linterna en el sensor de luz que estar encendido o apagado cuando el inicio del servicio. Podemos dejarlo sin seleccion por ahora.

Activación del Light Sensor mediante el TouchSensor

Ahora dodremos capturar las notificaciones del NxtTouchSensor cada vez que el sensor de contacto es presionado o liberado. Cada vez que cambie el valor el sensor de contacto se  activara o apagara la linterna. Seleccionamos con el mouse la clavija de  notificación del NxtTouchSensor y arrastrarlo a la NxtLightSensor,  Esto indica que capturará las notificaciones de el sensor de contacto y las remitirá al sensor de luz

Se  abrirá la ventana de dialogo de  Conexiones. Seleccionar la notificación TouchSensorUpdate y enviarlo A la SpotlightUpdate, luego hacer clic en Aceptar.

A continuación, en la ventana de Conexiones de datos, debemos describir los datos que se enviará a la SpotlightUpdate, seleccionar TouchSensorOn y haga clic en Aceptar.

Para comprobar el funcionamiento seleccionamos en la barra de menú el comando  Ejecutar, después de unos segundos el programa se compilara y se producirá un  pitido en el ladrillo Lego NXT que indica una conexión correcta. En este punto, puede pulsar y mantener pulsado el sensor de contacto, al hacer esto cuando presionemos el sensor de contacto la luz del sensor de luz se encenderá y al soltarlo se apagara, el programa es todo un éxito.