Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

40
1 UNIVERSIDAD DE MÁLAGA ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN PROYECTO FIN DE CARRERA: GENERACIÓN DE UN ENTORNO VIRTUAL PARA UN ROBOT AUTÓNOMO MÓVIL Málaga, 1999 Juan José Moreno Luque

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

Transcript of Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

Page 1: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 2: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

2

La realidad virtual

¿Qué es?

¿Cómo se consigue?

Aplicaciones

Page 3: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 4: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 5: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

5

Entorno de desarrollo del robot

Page 6: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 7: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

7

Perspectiva cónica indeterminada

B

A

a

b

c

C

Plano deproyección

Foco

Page 8: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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)

Page 9: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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)

Page 10: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 11: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 12: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 13: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 14: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

14

Eliminación de caras no visibles (1)

Es necesario ordenar las caras de los objetos

Page 15: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

15

Eliminación de caras no visibles (2)

En los objetos convexos basta eliminar las caras no visibles.

A

Page 16: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

16

Eliminación de caras no visibles (3)

Detección de caras ocultas por normales

Cámara

V

N

Page 17: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 18: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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)

Page 19: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 20: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 21: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 22: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 23: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 24: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 25: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 26: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 27: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 28: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 29: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 30: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 31: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 32: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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[

Page 33: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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.

Page 34: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 35: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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

Page 36: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

36

Demostración (1)

Page 37: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

37

Demostración (2)

Page 38: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

38

Demostración (3)

Page 39: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

39

Demostración (y 4)

Page 40: Generacion de un entorno virtual para un robot autonomo movil (J.J. Moreno Luque)

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