ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN
UNIVERSIDAD POLITÉCNICA DE CARTAGENA
Proyecto Fin de Carrera
APLICACIÓN DE LA TECNOLOGÍA DE
COMPONENTES JAVA-BEANS PARA
REALIZAR EL CONTROL DE UN ROBOT
TREPADOR
AUTOR: Antonio Máximo González Adán
DIRECTOR: Diego Alonso Cáceres
Diciembre / 2005
2
Autor
Antonio Máximo González Adán
E-mail del Autor
[email protected]
Director(es)
Diego Alonso Cáceres
E-mail del Director
[email protected]
Codirector(es)
Título del PFC
Descriptores
Resumen
Aplicación de la Tecnología de componentes Java Beans para realizar el
control de un robot trepador
El desarrollo Basado en Componentes, permite mediante la reutilización de los componentes
insertar el mismo componente en distintas aplicaciones siempre que estas cumplan con una
serie de reglas (interfaces) definidas para cada componente.
En este proyecto se ha utilizado el Desarrollo Basado en Componentes y en especial la
especificación que provee SUN sobre java, JavaBeans, para la instanciación de los
componentes de una arquitectura software para el control de robot tele-operados, ACROSET
(desarrollada en la UPCT).
Mediante esta instanciación de componentes se ha creado una aplicación para el control de
un robot trepador, LAZARO (robot de la familia EFTCoR), creando una interfaz que
permite tanto el control manual del robot como un pequeño control inteligente por parte de
la aplicación, además de una visualización de todos los parámetros del robot relevantes para
un operador.
Titulación
Intensificación
Ingeniero Técnico de Telecomunicaciones Esp. Telemática
Tecnología de la Información y las Comunicaciones (TIC)
Departamento
Fecha de Presentación Diciembre - 2005
3
AGRADECIMIENTOS
Gracias a todos los que han hecho realidad de una manera y otra la realización de este
proyecto y en especial quería agradecer a:
• Diego Alonso Cáceres, por su paciencia y las horas empleadas para poder
sacar a flote este proyecto.
• A mi familia en especial a mi Madre, a mi Padre y a mis hermanos.
• A todos mis compañeros que han contribuido de una manera importante ha
hacer ameno el largo tiempo de laboratorio.
• A Mª Ángeles, por su ayuda y apoyo moral.
5
INDICE
2.1
2.2
2.2.4.1
2.2.4.2
2.2.4.3
2.2.4.4
1.1
1.2
1.3
1.4
1.5
Introducción______________________________________________________ 9
Software ___________________________________________________________ 9
Acroset ___________________________________________________________ 10
Robot simulado. LAZARO __________________________________________ 10
Objetivos del Proyecto ______________________________________________ 11
Documentación del proyecto _________________________________________ 11
2 Estado de la Técnica ______________________________________________ 13
Programación Orientada a Componentes ______________________________ 13
2.1.1 Objetivos ______________________________________________________________13
2.1.2 Componente____________________________________________________________14
2.1.3 Conector ______________________________________________________________16
2.1.4
Puerto_________________________________________________________________16
2.1.5 Objetos y Componentes. __________________________________________________17
Software Basado en Componentes. ____________________________________ 17
2.2.1 COM y DCOM. _________________________________________________________18
Java Beans _____________________________________________________________19
2.2.2
Enterprise Java Bean (EJB) ________________________________________________21
2.2.3
2.2.4
.NET _________________________________________________________________23
Common Language Runtime (CLR) ____________________________________24
Biblioteca de clases de .Net ___________________________________________24
Ensamblados ______________________________________________________25
Algunas de las ventajas e inconvenientes de la plataforma .Net _______________26
XML _____________________________________________________________ 27
2.3.1 DTD: Definición de Tipos de Documento_____________________________________29
2.3.2
Las Entidades o Entities __________________________________________________31
2.3.3 Hojas de Estilo para XML: XSL ____________________________________________32
Arquitecturas Software para el Control de Robot Tele-Operados __________ 32
2.4.1 Arquitecturas Modulares Orientadas a Objetos y a Componentes (CLARATy) ________33
2.4.2
Frameworks de Componentes (OROCOS) ____________________________________35
2.4.3 ACROSET_____________________________________________________________37
Subsistema de Control, Coordinación y Abstracción de los Dispositivos (CCAS) _38
2.4.3.1.1 Sensores y Actuadores_____________________________________________39
2.4.3.1.2 Controladores Unitarios (MUCs, SUCs y RUCs) ________________________40
Subsistema de Inteligencia (IS) ________________________________________42
Subsistema de Interacción con los Usuarios (UIS) _________________________43
Subsistema de Seguridad, Gestión y Configuración (SMCS) _________________44
JavaBeans ______________________________________________________ 47
Características de los JavaBean ______________________________________ 48
3.1.1 Componentes y Contenedores ______________________________________________48
3.1.2
Introspección y Descubrimiento ____________________________________________50
3.1.3 Métodos de interfaz y propiedades __________________________________________51
Persistencia ____________________________________________________________52
3.1.4
3.1.5
Eventos _______________________________________________________________53
3.1.6 Diseño Visual __________________________________________________________53
Propiedades ____________________________________________________________54
3.1.7
Propiedades simples_________________________________________________55
Propiedades indexadas _______________________________________________55
Propiedades limitadas (Bound) ________________________________________56
3.1.7.1
3.1.7.2
3.1.7.3
2.4.3.1
2.4.3.2
2.4.3.3
2.4.3.4
2.3
2.4
1
3
3.1
6
3.1.7.4
4.5
4.6
3.1.15
3.2
3.3
3.3.2.1
3.3.2.2
3.1.14.1
3.1.14.2
3.1.14.3
Propiedades restringidas (Constrained) __________________________________56
JavaBeans no visibles ____________________________________________________57
3.1.8
3.1.9
Java Beans como enlaces a lugares remotos ___________________________________57
3.1.10 Multi-hilo (Multi-Threading)_______________________________________________58
3.1.11 Seguridad______________________________________________________________58
3.1.12 Tiempo de diseño vs. Tiempo de ejecución____________________________________59
3.1.13 El Interface BeanInfo_____________________________________________________60
3.1.13.1 Descriptores de Características ________________________________________60
Localizar las clases BeanInfo__________________________________________61
3.1.13.2
3.1.13.3
Persistencia de un Bean ______________________________________________61
Serialización por Defecto: El Interfaz Serializable _________________________61
3.1.13.4
Serialización Selectiva Utilizando el Modificador Transient__________________62
3.1.13.5
3.1.13.6
El Interfaz Externalizable_____________________________________________62
3.1.14 Nuevas Características de JavaBeans ________________________________________63
Java Activation Framework (JAF) ______________________________________63
El Protocolo de Contenidos y Servicios __________________________________64
Soporte de "Drag and Drop". __________________________________________64
Implementaciones mejoradas. JBeans ________________________________________65
Beans como Documentos XML _______________________________________ 66
3.2.1 Beans en XML__________________________________________________________66
Lenguaje de Marcas JavaBean______________________________________________67
3.2.2
Herramientas Visuales para la conexión de Beans _______________________ 71
3.3.1 BEANBOX ____________________________________________________________71
3.3.2 BEAN BUILDER _______________________________________________________73
Introducción _______________________________________________________73
BEAN BUILDER (La herramienta)_____________________________________73
4 Desarrollo_______________________________________________________ 77
La herramienta de desarrollo. ECLIPSE _______________________________ 77
Problemas encontrados al realizar la aplicación con Java-Beans ___________ 78
Diagrama de Subsistemas Acroset Adaptados. __________________________ 79
Simulación del Robot LAZARO utilizando Diseño orientado a componentes
4.1
4.2
4.3
4.4
(JAVA- BEANS) _________________________________________________________ 80
4.4.1
SUCs _________________________________________________________________80
4.4.2 MUC _________________________________________________________________81
4.4.3
SMCS ________________________________________________________________82
4.4.4 UIS (Interfaz de Usuario) _________________________________________________82
4.4.5
Sistema de inteligencia ‘IS’ (Secuencia) ______________________________________84
4.4.6 Coordinator ____________________________________________________________88
4.4.7 Motor _________________________________________________________________88
4.4.8
Encoders ______________________________________________________________88
Encoder de la Electro-válvula ______________________________________________88
4.4.9
4.4.10
Inclinómetros y Electro-Válvula ____________________________________________89
4.4.11 Tipo de Control (TODO-NADA, PID) _______________________________________89
4.4.12 RobotSimulado
Comentarios de: Aplicación de la tecnología de componentes Java-beans para realizar el control de un robot trepador (0)
No hay comentarios