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

Post on 30-Jun-2015

82 views 2 download

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)

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