i jornadas de trabajo de docenweb: red temática del grupo
TRANSCRIPT
Grupo de Control Automático, Robótica y Simulación
I Jornadas de Trabajo de DocenWeb:Red Temática del Grupo de Educación en
Automática
Proyectos presentados� Escenario virtual de simulación de múltiples robots en funcionamiento concurrente
� Aplicación informática en entorno multiplataforma para simulación de robots con interface compatible en Internet
Emilio Jiménez Macías
Mercedes Pérez de la Parte
Rubén Celorrio Lázaro
Componentes del GrupoComponentes del Grupo
Félix Sanz Adán
Mónica Baigorri Martínez
Eduardo Martínez Cámara
Escenario virtual de simulación de múltiples robots en
funcionamiento concurrente
! Desarrollo de motor gráfico 3D para simulación de sistemas físicos basado en OpenGL.
! Entorno de simulación adaptable a diferentes tipos de robots con funcionamiento simultáneo con escenarios virtuales.
! Desarrollo de aplicación de base de datos relacional paraalmacenamiento de configuraciones de robots.
! Implementación de los principales tipos de robots a la base de datos.
! Análisis de lenguaje concurrente para programación coordinada de diversos robots.
! Análisis y modelado de sistemas físicos reales. Posibilidades de simulación a partir del modelo deducido del sistema.
! Empleo de lenguaje de alto nivel orientado a objetos.
ObjetivosObjetivos
Estructura de la aplicaciónEstructura de la aplicaciónProblemática: � Elevado volumen de datos
� Complejidad
Solución: � Estructuración total,P.O.O.
� Creación dinámica
� Objetos Robot
� Objetos Escenario
� Objeto Programa
Totalmente independientes
entre si
Objetos RobotObjetos Robot� Modelos cinemáticos directo (D-H) e inverso
� Modelo dinámico
� Control cinemático
� Servosistema de control articular:� Controlador PID
� Planta
� Coordenadas articulares y de trabajo, tipos articulaciones, configuración...
TransformacionesTransformacionesTransformacionesTransformacionesTransformaciones
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformacionesPlanta
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesq,v,x,vz...Translación
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesControlador PID
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesValMaxRotación
Estructura interna RobotEstructura interna RobotRobot
Modelo Gráfico
Generador Trayectorias
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesServosistemas
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTArticulación
TransformacionesTransformacionesTransformacionesTransformacionesTransformacionesTransformaciones
Modelo Cinemático Modelo DinámicoParámetros D � H
Valores configurablesValores configurables� Tipo Robot, nº artic
� Posición, orientación
� Texturas, modelo gráfico
� v,w,a,alfa base del Robot
Valores configurables RobotValores configurables Robot� Parámetros D - H
� Rangos artic, tipo artic, q0
� Tensores inercia, pos c.g.
� Parámetros planta y PID...
Objetos EscenarioObjetos Escenario� Permiten representar de forma elemental el entorno
� Formados por elementos cúbicos
� Objetos generados dinámicamente
� Creado por el usuario en una base de datos
Parámetros: Tipo Objeto, Posición Tamaño, Color (RGB+alfa), Textura...
ProgramaPrograma� Lenguaje concurrente propio
� Clase totalmente nueva compuesto por:
" Objetos Instrucciones
" Mapa de memoria
" Módulo de lectura programa
" Interprete del programa
Método de programaciónMétodo de programación� Número Instrucción� Instrucción anterior� Instrucción posterior
� Nombre Instrucción� Parámetros� Condiciones activación
Método de programación: Método de programación: EjemploEjemplo
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
Vías de desarrolloVías de desarrollo•• Desarrollo del actual sistemaDesarrollo del actual sistema
•• Implementación de nuevos sistemasImplementación de nuevos sistemas
•• Capacidades de comunicación en redCapacidades de comunicación en red
•• Control en tiempo realControl en tiempo real
•• Control de fuerza, control de colisionesControl de fuerza, control de colisiones
•• Telerrobótica, sistemas de visión...Telerrobótica, sistemas de visión...
Aplicación informática en entorno Aplicación informática en entorno multiplataforma para simulación de robots multiplataforma para simulación de robots
con con interfaceinterface compatible en Internetcompatible en Internet
Objetivos del proyecto (I)Objetivos del proyecto (I)
•• Realización de un simulador gráfico de Realización de un simulador gráfico de robots:robots:•• Capacidad de ejecución en entorno multiplataformaCapacidad de ejecución en entorno multiplataforma
•• InterfaceInterface compatible con Internetcompatible con Internet
•• Aplicación de uso general para cualquier tipo Aplicación de uso general para cualquier tipo de robotde robot•• Puma 560Puma 560
Objetivos del proyecto (II)Objetivos del proyecto (II)
•• InterfaceInterface de usuario claro y con gran de usuario claro y con gran capacidad de control:capacidad de control:## Cargar cualquier robot Cargar cualquier robot
## Modificar coordenadas articularesModificar coordenadas articulares
## Desplazamiento según posición y orientación dadas de Desplazamiento según posición y orientación dadas de
la herramientala herramienta
## Información de la posición, orientación actual del robotInformación de la posición, orientación actual del robot
## Simulación y control de varios robot simultáneamenteSimulación y control de varios robot simultáneamente
Objetivos del proyecto (III)Objetivos del proyecto (III)
• Estudio de la viabilidad del software para la
aplicación en el ámbito de la telerobótica y su
capacidad de ejecución en tiempo real
• Jinsight 2.0
Fases del proyecto (I)Fases del proyecto (I)
•• Estructura internaEstructura interna
ROBÓTICAROBÓTICA
REPRESENTACIÓN REPRESENTACIÓN GRÁFICAGRÁFICA
INTERFACE DE INTERFACE DE USUARIOUSUARIO
FICHEROS SCN FICHEROS SCN Y OBJY OBJ
Fases del proyecto (II)Fases del proyecto (II)
•• Generación del código:Generación del código:•• Java 1.2Java 1.2
•• Visual J ++ 6.0Visual J ++ 6.0
•• Visual caféVisual café
•• JflexJflex 1.31.3
•• CupCup 0.10j 0.10j
Programación en javaProgramación en java
•• Poca velocidad de ejecución Poca velocidad de ejecución
•• Fácil programaciónFácil programación•• Elimina los problemas de punterosElimina los problemas de punteros
•• Abundantes librerías:Abundantes librerías:
•• AwtAwt
•• Java3DJava3D
•• SwingSwing
Fundamentos Fundamentos robóticos robóticos (I)(I)
Cinemática inversaMétodo de resolución:
Genérico
Rápido
Eficiente
Real time inverse kinematics for general 6r
manipulatorUniversidad de California:
Dinesh Manocha y John F. Canny
Fundamentos Fundamentos robóticos robóticos (II)(II)
( ) ( )
=
1CSCSCCSCCSSS
PCS
Q
4
5
4
4
54
54
54
54
11
11( ) ( )
=
1CSCSCCSCCSSS
P
CSCCSCCSSS
Q
4
5
4
4
54
54
54
54
2
2
2
21
21
21
21
2
A3 · A4 · A5 = A2-1 · A1
-1 · ahand· A6
-1
� Pasos básicos de implementación
Preprocesamiento simbólico:Maple V
Eliminación gaussiana
Tratamiento matricial:
Fundamentos Fundamentos robóticos robóticos (III)(III)
=
2θtan x 5
5
=
2θtan x 4
4
=
2θtan x 3
3
25
25
5 x1x-1C+
=25
55 x1
2xS+
=
24
24
4 x1x-1C+
=24
44 x1
2xS+
=23
23
3 x1x-1C+
=23
33 x1
2xS+
=
� Pasos básicos de implementación
Sustitución trigonométrica
Tratamiento matricial:
Fundamentos Fundamentos robóticos robóticos (IV)(IV)
Σ′
Σ′
1xxxxxxx
xxxxx
xxxxx
00
5
25
4
54
254
24
524
25
24
34
534
25
34
� Pasos básicos de implementación
Proceso de eliminación
Tratamiento matricial:
Fundamentos Fundamentos robóticos robóticos (V)(V)
=
Σ ′′=Σ ′′
000000000000
1xxxxxxx
xxxxx
xxxxx
5
25
4
54
254
24
524
25
24
34
534
25
34
v
� Pasos básicos de implementaciónResolución de sistema de ecuaciones lineales:
Vectores y valores propios
Representación en pantalla:
Algoritmo de ordenamiento en profundidad (algoritmo
del pintor)
Coeficiente de iluminación
Algoritmo de Lambert de reflexión difusa
I = IpkdcosθNN
θθLL
Representación gráficaRepresentación gráfica
Jflex:Analizador léxico
TokensCup
Generador de compiladoresReglas gramáticas
JflexJflex y y cupcup
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
AplicaciónAplicación
� Implementación en ambiente industrial� Mejorar las posibilidades gráficas del simulador� Mejorar el interface de usuario� Incorporar una conexión a una base de datos� Introducir nuevas trayectorias � Detección de colisiones� Simular otros elementos de uso industrial
Vías de desarrolloVías de desarrollo