Title:
1Librería para la creación de interfaces gráficas
para el control de sistemas empotrados y
aplicación a un brazo telemanipuladoGraphical
interfaces library for embedded control systems.
Application to a telemanipulated armPara
acceder al Titulo deINGENIERO DE TELECOMUNICACIÓN
Escuela Técnica Superior de Ingenieros
Industriales y de Telecomunicación UNIVERSIDAD
DE CANTABRIA
Proyecto Fin de Carrera
Autor Ángel Muñoz Cantera
2Motivación
- Brazo robótico telemanipulado (BTM)
- Inconvenientes del panel
- No reutilizable
- Difícil añadir nuevos controles
3Objetivos del proyecto
- Objetivo implementar en software el panel de
mandos de cualquier máquina con - Botones
- Luces
- Displays numéricos
- Joysticks
- Integrando un dispositivo apuntador
4Objetivos del proyecto
- Ventajas
- Estandarización
- Menos coste
- Menor tiempo de implementación
- Alta flexibilidad
- Integración en el controlador del robot
5MaRTE OS
- Sistema Operativo MaRTE OS (Minimal Real-Time
Operating System for Embedded Applications) - Sistema de tiempo real mínimo. POSIX.13
- Lenguaje Ada 95, C, ensamblador
- Aplicaciones Ada 95, C, C
6Elementos utilizados en el desarrollo del proyecto
- Entorno de desarrollo
- Equipo de desarrollo Linux
- Plataforma de ejecución (x86)
- Lenguaje Ada 95
- GNAT GPL Edition
- Compilador GNAT
- IDE GPS 3.0.0
- Buenas características de Ada 95
- MaRTE OS escrito en Ada
- Software del BTM escrito en Ada
7Partes del proyecto
- Drivers
- Driver de ratón PS/2
- Driver para joystick analógico
- arquitectura software, API
- Biblioteca para la interfaz gráfica
- Aplicación de ejemplo sobre el BTM
8Índice general de capítulos
- Introducción
- Driver de ratón PS/2
- Driver de joystick analógico
- Biblioteca para la representación de paneles
- Aplicación al BTM
- Conclusiones
9Motivación del driver PS/2
- Dispositivo apuntador para elementos interactivos
del panel - Uso general en MaRTE OS para otras aplicaciones
10IBM PS/2. Interfaz física
- Interfaz mini-DIN de 6 pines
- Código de colores Microsoft PC97
11Controlador de teclado 8042
- Comunicación con el teclado/ratón
- Conjunto de registros
- Input Buffer
- Output Buffer
- Registro de Estado
- Registro de Control
- Direcciones de I/O
- Conjunto de Comandos del controlador de teclado
12Arquitectura software del driver
13Características del driver PS/2
- Cola de eventos FIFO_Queue
- Cola circular
- Máquina de estados abstracta, genérica y de
tamaño configurable - Utiliza parámetros de error
14Características del driver PS/2
- Formato de evento leído de la cola
15Características del driver PS/2
16Características del driver PS/2
- Uso de los métodos del driver
17Características del driver PS/2
- Arquitectura de módulos del driver PS/2
18Índice general de capítulos
- Introducción
- Driver de ratón PS/2
- Driver de joystick analógico
- Biblioteca para la representación de paneles
- Aplicación al BTM
- Conclusiones
19Introducción el puerto de juegos
- Conector DA15-F
- Registro de 8 bits
- Dirección I/O 201h
- Sin interrupciones
- Medida de ejes
- circuito analógico i?t
- Rpot tiempo
- Medida del tiempo PIT/TSC
20Características del joystick Genius-F16
- Cuatro Botones
- 3 Ejes (throttle)
- Función Turbo
- Económico
21Características del driver de joystick analógico
- Basado en el driver v. 1.2.15 de Linux
- Codificado en Ada 95
- Detecta los tipos de joystick
- 2 ejes y 4 botones
- 3 ejes y 4 botones (el F-16)
- 4 ejes y 4 botones
22Características del driver de joystick analógico
23Características del driver de joystick analógico
- Cola de eventos
- Cola circular
- Tipo de datos abstracto y protegido, en paquete
genérico - Utiliza excepciones
24Características del driver de joystick analógico
- Formato del evento de joystick
25Características del driver de joystick analógico
- Uso de los métodos del driver
26Características del driver de joystick analógico
- Arquitectura de módulos del driver de joystick
27Índice general de capítulos
- Introducción
- Driver de ratón PS/2
- Driver de joystick analógico
- Biblioteca para la representación de paneles
- Aplicación al BTM
- Conclusiones
28Introducción jerarquía de clases desarrollada
- Arquitectura de módulos de la librería para
interfaz gráfica
29Introducción jerarquía de clases desarrollada
Filosofía OOP
30Introducción jerarquía de clases desarrollada
31Elementos del panel Aspecto
Displays
Botones
Luces
32Tratamiento de la pantalla
- Matriz de pantalla
- Dibujo del puntero
33Tratamiento de la pantalla
34Índice general de capítulos
- Introducción
- Driver de ratón PS/2
- Driver de joystick analógico
- Biblioteca para la representación de paneles
- Aplicación al BTM
- Conclusiones
35Aplicación al software del BTM
36Aplicación al software del BTM
- Adaptación del paquete Mandos
- Gestión de botones
- Gestión de luces
- Obtención de la posición del joystick
- Demo
37Índice general de capítulos
- Introducción
- Driver de ratón PS/2
- Driver de joystick analógico
- Biblioteca para la representación de paneles
- Aplicación al BTM
- Conclusiones
38Resumen de logros
- Versión software para paneles de control
- Estandarización
- Ahorro en tiempo y dinero
- Más flexibilidad
- Driver de ratón PS/2 para uso general
- Driver de joystick analógico para uso general
- Biblioteca de elementos de panel
- Luces
- Botones
- Displays Numéricos