IE-0502 Proyecto Eléctrico Alumno: Carlos Alberto Montes Solano

Anuncio
IE-0502 Proyecto Eléctrico
Alumno: Carlos Alberto Montes Solano
“Envío de video hacia un cliente remoto utilizando el sistema video4linux y desarrollo de
una aplicación gráfica GTK sobre una plataforma GNU/Linux, para el control del brazo
robot Stäubli RX9”
Profesor Guía: Ing. Francisco Siles Canales
Resumen
El objetivo principal de este proyecto es controlar, en forma remota, el brazo robot Stäubli
RX90 bajo una plataforma abierta. En este caso se utilizó el sistema operativo de licencia
libre GNU/Linux. Para lograr la visualización a distancia del robot, se adaptó un programa
existente que hace uso de la herramienta video4Linux, y que permite una comunicación
cliente-servidor.
Posteriormente al análisis de las fuentes bibliográficas se establecieron las principales
necesidades que debían cubrirse. A partir de este punto se dio inicio a la programación en el
lenguaje C que debía abarcar, en el lado del servidor, la comunicación serial con el
controlador del robot y la sincronización de recepción de datos, provenientes tanto del
cliente como del controlador mismo; mientras tanto en el lado del cliente existía la
necesidad de generar una interfaz gráfica, amigable para el operador y capaz de enviar y
recibir mensajes del servidor, además de desplegar el video en tiempo real.
Los tres puntos de interés fundamentales del proyecto fueron: la programación de la
comunicación a través del puerto serial, la programación de aplicaciones gráficas utilizando
la librería GTK y la implementación de múltiples hilos de procesamiento. Uno de los
principales problemas que surgió a lo largo del proyecto, fue el hecho de que la librería
GTK no soporta, por sí misma, la programación de sus objetos dentro de múltiples hilos de
procesamiento. La solución al problema surgió con la utilización de algunas funciones de la
librería GLib, las cuales permitieron la manipulación ordenada de las variables GTK dentro
de los distintos hilos.
Como resultado se obtuvo una comunicación bidireccional entre las dos partes principales:
el cliente y el servidor. La primera parte (el servidor) se encarga de capturar y enviar las
imágenes de video, además atiende y ejecuta los comandos provenientes del cliente y,
finalmente, recibe la información generada por el robot y se la envía al cliente. La segunda
parte (el cliente) presenta una interfaz gráfica, donde se muestra el video del robot en
tiempo real y la información del estado del robot, además permite accionar los distintos
motores del brazo mecánico, por medio de botones y entradas de texto. De esta forma se
alcanzó el objetivo principal del proyecto: el control remoto del robot Stäubli RX90.
Tanto el sistema operativo, como el lenguaje de programación empleados, demostraron
poseer las cualidades necesarias (por ejemplo el sistema video4Linux y la librería GTK)
para la ejecución y creación de programas operados a distancia y en tiempo real.
Finalmente y luego de llevar a cabo algunas pruebas prácticas al programa total, se
recomienda la implementación de un algoritmo de compresión para las imágenes de video,
debido a que la tasa de transmisión actual no es suficiente para ser implementada en una red
real.
Descargar