Conectando LabVIEW Robotics a Microsoft Robotics Studio
Simulator
Varias personas han señalado que Microsoft Robotics Developer Studio (MSRDS) tiene algunas
herramientas de desarrollo notablemente familiares en comparación con LabVIEW. El caso en
cuestión: " visual programming language (lenguaje de programación visual) "de Microsoft y "
graphical programming language (lenguaje de programación gráfica)" de LabVIEW; ambas se
basan en una programación mediante "flujo de datos".
Lenguaje de programación gráfica de LabVIEW
Lenguaje de programación visual de MSRDS
National Instruments y Microsoft simplemente han identificado una necesidad similar de la
industria de la robótica. Todos los que intervienen en la construcción de un sistema completo de
robótica (programador, ingeniero mecánico, expertos de control, ingeniero eléctrico, maestro
soldador etc), necesitan para explotar algunas herramientas de desarrollo que les permitan
construir y depurar robots tan rápido y fácilmente como sea posible. Así que es agradable ver que
todos estamos en la misma página.
Ahora, tanto LabVIEW Robotics y MSRDS son útiles herramientas de desarrollo de robots
increíblemente, cada uno con lo suyo. Es por eso que me emocioné al ver que LabVIEW Robotics
incluye un ejemplo de embarque que permite a los usuarios crear su código de LabVIEW y luego
probar el comportamiento de un robot utilizando el simulador MSRDS. De esta manera, se obtiene
lo mejor de ambos mundos.
Aquí está una captura de pantalla del ejemplo de conectividad MSDRS-LabVIEW:
Cómo funciona:
Básicamente, LabVIEW se comunica con el robot simulado en el entorno de simulación MSRDS
como si fuera un robot real. Como tal, adquiere de forma continua los datos de los sensores de
simulación (en este caso, una cámara, un LIDAR y dos sensores de golpe) y la muestra en el panel
frontal. El usuario puede ver el robot simulado desde una vista pájaro-ojo, en el indicador Main
Camera (indicador grande localizado en el centro del panel frontal). El usuario puede ver lo que
está delante del robot en el indicador Camera on Robot (indicador localizado en la parte superior
derecha del panel frontal). Y el usuario puede observar lo que el robot ve e interpreta como
obstáculos en el indicador Laser Range Finder (localizado justo debajo de Camera on Robot, es
particularmente útil para la depuración).
En el diagrama de bloques de LabVIEW, el sensor simulado LIDAR obtiene los datos desde el
entorno MSRDS, los procesa y los utiliza para realizar una simple evasión de obstáculos,
empleando para ello un Histograma de Vector de Campo. LabVIEW luego envía de vuelta las
señales de mando al MSRDS para controlar los motores del robot, y con éxito el robot se desplaza
en todo el entorno simulado.
¿Por qué es útil?
Los usuarios de LabVIEW pueden crear y modificar su código de control del robot y probarlo en el
simulador MSRDS. De esta manera, independientemente de si tiene o no el hardware de su
prototipo de robot, puede empezar a construir y depurar el software. Pero aquí viene lo bueno:
una vez que su hardware está listo, usted puede tomar el mismo código que ha desarrollado para
el robot simulado e implementarlo en un robot físico real, en cuestión de minutos. LabVIEW se
encarga de exportar el código a procesadores embebidos como ARM, RTOS y FPGAs para que no
tenga que hacerlo usted. Reutilizando el código, probándolo y realizando cambios en el entorno
simulado, todo esto ahorrará tiempo a los desarrolladores que cuentan con un prototipo físico.
Áreas de mejora:
A partir de ahora, el modelo utilizado en el ejemplo de LabVIEW es fijo, es decir, usted no tiene la
capacidad de cambiar la configuración física de los actuadores y sensores en el robot, sólo se
puede modificar el comportamiento del robot. Por lo tanto, usted tiene un sensor LIDAR, una
cámara, dos sensores de parachoques y dos ruedas, en una configuración de tracción
diferencial. Pero por lo menos es un buen comienzo.
En el futuro, estaría bien el poder asignar su propio modelo (usted escoge los sensores,
actuadores, configuración física). Tal vez usted puede hacer esto desde LabVIEW también, en lugar
de tener que construir uno desde cero en C #. LabVIEW ya cuenta con cientos de controladores
disponibles para interactuar con los sensores del robot, usted podría potencialmente elegir alguno
de estos desde la lista larga y LabVIEW construiría el modelo para usted ...
En pocas palabras:
Es agradable ver más herramientas de desarrollo, como LabVIEW y MSRDS, trabajando
juntos. Esto permite a la robótica reutilizar e incluso compartir sus diseños y el código. La
combinación de la tecnología COTS y plataformas de diseño abierto, es la receta para la industria
de la robótica para reflejar lo que la industria del PC hace 30 años.
Ejemplo de Conexión a Microsoft Robotics Simulador:
[Link]
Conectando LabVIEW Robotics a MSRDS
Encontrando el [Link]
Desde la ventana LabVIEW Robotics Getting Started, haga clic en Find Robotics Examples. Cuando
el NI Example Finder se ha abierto, vaya a la Robotics>> carpeta Connectivity example y haga
doble clic en [Link].
Ejecutar el ejemplo por primera vez
Una vez que el proyecto se ha abierto, de doble clic en [Link]. Este VI localizará el
archivo .dll necesario para conectar código de control de LabVIEW Robotics al robot simulado en el
simulador MSRDS. Ejecuta [Link] , y cuando se le pida, que busque el archivo
[Link] vaya a la carpeta installed MSRDS>/bin .
Nota: Si realiza una búsqueda en Windows para localizar el [Link], es
posible que exista en dos lugares, uno dentro de la carpeta bin de LabVIEW Robotics y uno
dentro de la carpeta bin de MSRDS. Asegúrese de seleccionar el archivo que existe dentro
de la carpeta MSRDS. Si usted está teniendo problemas para localizar el archivo adecuado,
asegúrese de buscar en C:\Documents and Settings\username\Microsoft Robotics Dev
Studio 2008 R2 Express\bin.
El indicador booleano en el panel frontal del [Link] se pondrá verde cuando se tiene éxito
al ubicar el archivo.
Abra [Link] y haga clic en Run (Ejecutar). Este VI establecerá comunicación con
MSRS y empezar a controlar el robot simulado. Esto abrirá [Link], que muestra los datos
de simulación del robot.
Nota: Puede tardar unos minutos para lanzar el MSRDS.
Una vez que la conexión se ha establecido, el panel frontal de LabVIEW se actualizará con la
información del entorno simulado. El indicador Main Camera se actualiza con una vista
panorámica del robot moviéndose en el entorno. El indicador Camera on Robot se actualiza con
la retroalimentación del sensor de la cámara simulada en el robot. El indicador Laser Range Finder
muestra los datos del sensor LIDAR simulado en el robot, en formato de histograma del vector de
campo; verde indica deficiencias de espacio abierto, blanco indica un obstáculo.
¿Cómo funciona?
El robot que existe en el entorno simulado es un modelo fijo, basado en NIcholas, que es un
pequeño UGV basado en una tarjeta sb-RIO, que incluye un sensor LIDAR Hokuyo y una plataforma
móvil RC-car.
El modelo del robot simulado en este ejemplo consta de 4 sensores diferentes: cámara, sensor
LIDAR y 2 sensores de golpes, uno en la parte delantera y uno en la parte trasera. El movimiento
del robot es accionado por dos motores-ruedas simulados en una configuración de tracción
diferencial.
Cuando el ejemplo se está ejecutándose, LabVIEW continuamente adquiere datos de los sensores
simulados, como si se tratara de datos reales. El código de control en el diagrama de bloques
realiza una evasión de obstáculos con un simple histograma de vector de campo. De acuerdo con
las brechas abiertas y los obstáculos identificados, las señales de comandos se envían por LabVIEW
a las ruedas simuladas en el entorno de simulación MSRDS. Como tal, el robot simulado en el
simulador MSRDS está completamente controlado por LabVIEW.
Además, debido a que LabVIEW maneja los datos simulados desde MSRDS como si fueran datos
reales, el código del diagrama de bloques que controla el modelo del robot es el mismo código
que controla a NIcholas en la vida real. Los cambios necesarios sólo son adecuados para asignar los
puertos de adquisición de datos para el sensor LIDAR y el motor sobre la tarjeta sbRIO, procesando
objetivos para el robot físico.
Conclusión
A medida que se familiarice con el ejemplo, realice cambios en el código dentro del bucle While
sobre el diagrama de bloques y observa cómo afecta el comportamiento del robot en el entorno
simulado. Los investigadores y los desarrolladores pueden usar LabVIEW Robotics para construir y
refinar los algoritmos y probarlos usando la conectividad de LabVIEW con el simulador
MSRDS. Cuando esté listo, se puede utilizar LabVIEW Robotics para implementar sus algoritmos a
tiempo real y FPGA para sus prototipos físicos.
Instalación:
1. Descargar y extraer el contenido de using_msrs_r3.zip
2. Abrir [Link]
3. Ejecutar [Link] . Cuando se le pida, [Link] en el \ bin \
Microsoft Robotics Developer Studio 2008 Rx carpeta.
4. Ejecutar [Link] para establecer comunicación con MSRS y empezar a controlar el robot
simulado.
5. [Link] se abre y muestra la simulación del robot datos simulados. MSRS podría requerir unos
minutos de su lanzamiento.
Installation:
1. Download and extract the contents of using_msrs_r3.zip
2. Open [Link]
3. Run [Link]. When prompted, browse to [Link] in the \bin\Microsoft
Robotics Developer Studio 2008 Rx folder.
4. Run [Link] to establish communication with MSRS and start controlling the simulated
robot.
5. [Link] opens and displays the simulated robot simulation data. MSRS might require a few
minutes to launch.
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]