Este artículo continua con la serie de artículos sobre web publishing con LabVIEW. Vamos a ir un paso más haya que en los anteriores artículos (ver Web Publishing con LabVIEW (I) y (II)), usando una cámara dispuesta sobre un motor, de forma que al controlar ese motor la cámara se mueva, mostrándonos por el Front Panel lo que ve. Este motor estará colocado sobre un vehículo móvil, de forma que también podamos desplazarnos adelante o atrás.
Cambiar control del Front Panel:
A la hora de hacer Web Publishing podemos hacer que el control sobre el Front Panel lo tenga o el servidor, o el cliente que se conecta a el, pero no ambos a la vez. Si queremos que sea el cliente, osea quien quiere usar el robot desde la web, quien maneje el robot, tenemos que darle el control a él. Hay varias maneras de intercambiar el control. La primera es a la hora de crear la página web, donde podemos decir que pida el control automáticamente al servidor:
Esto hará que el servidor pase el control automáticamente a los clientes que se conecten a la web para que estos puedan manejar el Front Panel. Es posible devolver el control al servidor desde un cliente, de esta manera será el servidor quién controle el Front Panel:
También se puede recuperar el control desde el mismo servidor, e incluso bloquear para que los clientes no puedan llegar a controlarlos. Es por tanto el servidor el que tendrá el máximo control sobre los permisos de uso del Front Panel:
En nuestro caso particular nos va a interesar que sea el cliente quién tenga dicho control.
Programa de prueba:
Como he comentado anteriormente, para este programa vamos a tener un robot móvil con un motor montado sobre el que mueve una cámara. Deseamos poder manejar los motores del robot desde el Front Panel a través de una página web, de forma que veamos lo que ve la cámara del robot:
En primer lugar necesitamos un programa que sea capaz de capturar bastantes imágenes por segundo, para poder mostrarlas a través de LabVIEW. En este caso hemos usado el Active WebCam, que es capaz de tomar capturas a una velocidad de 30 fps.
Una vez tengamos las imágenes podemos abrirlas en LabVIEW (ver artículos sobre visión artificial con LabVIEW), y procesar lo que haga falta. Los controles que vamos a poner servirán para mover la cámara a derecha o izquierda, y mover el robot adelante o atrás. El motor B se encargará de la cámara, y los motores A y C del desplazamiento del motor. El Block Diagram de este programa tiene el siguiente aspecto:
Y el Front Panel será así:
Es importante que pongáis un pequeño retardo entre cada iteración del bucle, para que de tiempo a cargar bien la imagen y mostrarla por pantalla. A continuación podéis ver un vídeo demostrativo, donde podéis ver el funcionamiento de este programa.
Queda bastante impresionante, el hecho de poder manejar un robot desde Internet. Espero que os haya resultado interesante el artículo. Por supuesto si tenéis alguna duda podéis visitar el foro.