Upload
cristina-urdiales
View
87
Download
2
Embed Size (px)
DESCRIPTION
Creación de un entorno virtual OpenGL para la simulación de robots móviles con comportamientos programados en C. Permite la visualización externa y desde el punto de vista del robot y corre de forma concurrente al sistema
Citation preview
1
UNIVERSIDAD DE MÁLAGAESCUELA TÉCNICA SUPERIOR DE
INGENIEROS DE TELECOMUNICACIÓN
PROYECTO FIN DE CARRERA:
GENERACIÓN DE UN ENTORNO VIRTUALPARA UN ROBOT AUTÓNOMO MÓVIL
Málaga, 1999 Juan José Moreno Luque
2
La realidad virtual
¿Qué es?
¿Cómo se consigue?
Aplicaciones
3
Necesidad del proyecto
Robot que resuelve el problema inverso. ¿Qué proporciona el simulador?
– Mayor comodidad– Mayor seguridad– Mayor portabilidad– Puede copiarse y compartirse– Se evitan problemas derivados de un
dispositivo físico real
ROBOT
Giro del robot
4
Objetivos
Una herramienta que simule el comportamiento de la cámara del robot.
Además el sistema debe:– Integrarse con el entorno de desarrollo (*)– Permitir modificar los parámetros de interés– Generar una tasa de imágenes suficientemente
alta
5
Entorno de desarrollo del robot
6
Objetivos
Una herramienta que simule el comportamiento de la cámara del robot.
Además el sistema debe:– Integrarse con el entorno de desarrollo– Permitir modificar los parámetros de interés– Generar una tasa de imágenes suficientemente
alta
7
Perspectiva cónica indeterminada
B
A
a
b
c
C
Plano deproyección
Foco
8
Cálculo de la proyección de un vérticePlano de proyección
Cámara (foco)
Plano de proyección
d (x0, z0)
(x, y, z)
9
Cálculo de la proyección de un vértice (2)
Apertura angular y espacial
Cámara (foco)
Plano de proyección
d (x0, z0)
(x, y, z)
10
Cámara (foco)
Plano de proyección
d (x0, z0)
Cálculo de la proyección de un vértice (3)
La proyección se calcula usando ApH
ExPh inf
(x, y, z)
2
tg2HAp
dApH ang
20infApH
xE ApHEINF
11
Cálculo de la proyección de un vértice (y 4)
Discretizamos el valor de la proyección
RHApH
ExPh inf'
RH RHPhPh Ph ,0'1,0
d (x0, z0)
(x, y, z)
Cámara (foco)
Plano de proyección
12
Ya sabemos cómo se proyecta un vérticeVeamos cómo se genera una imagen
Se eliminan los objetos no visibles Se eliminan las caras no visibles Se transforman los vértices al CCS Se recorta la parte no visible de los objetos Se calculan las proyecciones Se ordenan los obstáculos Se calcula el color de las caras
13
Eliminación de objetos no visibles
Alcancemínimo
Plano deproyección
Planoinferior
Lateral izquierdo
Alcance máximo
Lateral derecho
Plano superior
xCCS
yCCS
zCCS
Hay objetos que no tienen proyección Supone un ahorro computacional
14
Eliminación de caras no visibles (1)
Es necesario ordenar las caras de los objetos
15
Eliminación de caras no visibles (2)
En los objetos convexos basta eliminar las caras no visibles.
A
16
Eliminación de caras no visibles (3)
Detección de caras ocultas por normales
Cámara
V
N
17
El sistema de coordenadas de la cámara (1)
Mapas y posición del robot descritos en ACS CCS más eficiente para calcular proyecciones
18
El sistema de coordenadas de la cámara ( y 2)
Cámara (foco)
Plano de proyección
OX
OZ
OY (x0, y0, z0)ACS = (0,d,0)CCS
ApHEx
Ph inf
2
tg2HAp
dApH ang
20infApH
xE
(x, y, z)
19
Recorte de objetos (1)
Cámara
1
2
4
Se recorta la parte de cada cara visible que está fuera del volumen de visión de la cámara
Necesario porque hay puntos que no tienen proyección:
Se utiliza el algoritmo de Sutherland-HodgmanEstán detrás de la cámara (d<0)d=0 Proy=d Proy
3
20
Recorte de objetos (2)Algoritmo de recorte
Alcancemínimo
Plano deproyección
Planoinferior
Lateral izquierdo
Alcance máximo
Lateral derecho
Plano superior
xCCS
yCCS
zCCS
21
Recorte de objetos (y 3) Recorte de una cara
CASO 2
CASO 3
CASO 4
v2
CASO 1
v1v4
v3i1
Plano lateral izquierdo
i2
22
Generación de la imagen de un obstáculo
Se dibuja el objeto rellenando sus caras Aún faltan dos procesos muy importantes
– La ordenación de los obstáculos– El coloreado de las caras
23
Ordenación de los objetos Necesaria si hay más de un objeto visible Se usa una adaptación a poliedros del Método de
Ordenación por Profundidad Basta una ordenación de poliedros gracias a tener
sólo objetos convexos y no superpuestos
24
Ordenación de los objetosAlgoritmo de ordenación
Se caracterizan los objetos por su centro Se realiza una ordenación rápida ordenando los
objetos según la distancia de su centro a la cámara Se comprueba en qué casos esa ordenación
presenta dudas Se revisan los casos en que la ordenación podría
ser errónea y se corrige la ordenación cuando es necesario
25
Ordenación de los objetosPrimera ordenación rápida
Se caracteriza cada objeto por el centro y el radio de la esfera que lo circunscribe
Se realiza una ordenación rápida de los objetos según la distancia de su centro a la cámara
26
Ordenación de los objetosProblemas de la ordenación rápida
Esta primera ordenación puede ser incorrecta Se comprueba en qué casos la ordenación presenta
dudas
1
3
2
VISTA SUPERIOR
Cámara
d2
d3
d1
27
Ordenación de los objetosResolución de casos dudosos
En caso de duda se comprueba si los bastidores de los objetos se superponen
Si los bastidores se superponen deberemos comprobar la ordenación de los objetos.
PvMÁX
PvMÍNPhMÍN PhMÁX
Bastidor del objeto Pantalla
de visión
28
Ordenación de los objetosResolución de casos dudosos (2)
Para reordenar simplificamos el problema a dos dimensiones
Cámara
X
v4
2
1
29
Coloreado de las caras. El ‘rendering’
‘El proceso de producir imágenes realistas’ Modelos físicos de iluminación.
– Muy realistas, pero costosos. Usamos un modelo de iluminación sencillo
30
Modelo de iluminación (1)Fuentes de luz
Son imprescindibles para ver la imagen Se usarán tres tipos
– Luz puntual u omnidireccional – Luz distribuida o direccional– Luz ambiental
31
Modelo de iluminación (2)Color de las caras
Color del objeto más reflexión de luz Se utilizan dos modelos de iluminación
– Luz ambiente– Reflexión difusa
32
Modelo de iluminación (3)Modelo utilizado
Una fuente de luz (direccional o puntual) más luz ambiente El color del objeto puede oscurecerse si no recibe luz (Se
multiplica por ) Veamos cómo se calcula ese valor
– LA + (1 – LA) cos (L · N)– LA = Luz Ambiente– Si cos<0 se considera cos=0
]1,0[ k
]1,0[
33
Generación de la imagen
Se calcula el horizonte y se dibuja el fondo Se dibujan los objetos en orden de distancia Los objetos se dibujan rellenando sus caras
mediante un algoritmo de barrido.
34
Resultados
Una herramienta que simula el comportamiento de las cámaras del robot
Una herramienta que simula el comportamiento de las cámaras del robot
Una herramienta que simula el comportamiento de las cámaras del robot y que además
–Se integra con el
entorno del robot– Permite modificar los parámetros de interés
0 10 20 30 40 50 60 70
mseg.
Pentium 133
AMD K6 233
Salvar Dibujar Calcular
– Genera una tasa de imágenes suficiente
35
Líneas futuras de investigación
Enviar las imágenes a unas gafas de RV Salvar las imágenes en formato AVI Definir nuevos tipos de obstáculos Definir más cámaras Generar imágenes en color Incluir las sombras que proyectan los objetos Modelos de iluminación más complejos
36
Demostración (1)
37
Demostración (2)
38
Demostración (3)
39
Demostración (y 4)
40
UNIVERSIDAD DE MÁLAGAESCUELA TÉCNICA SUPERIOR DE
INGENIEROS DE TELECOMUNICACIÓN
PROYECTO FIN DE CARRERA:
GENERACIÓN DE UN ENTORNO VIRTUALPARA UN ROBOT AUTÓNOMO MÓVIL
Málaga, 1999 Juan José Moreno Luque