Laboratorio de Rob - PowerPoint PPT Presentation

About This Presentation
Title:

Laboratorio de Rob

Description:

Arquitectura de un equipo SSL. Sistema de Visi n (EKVision) ... de los robots: 'Logitech Freedom 2.4 Cordless Joystick' que se conecta por un puerto USB: ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 72
Provided by: laboratori81
Category:

less

Transcript and Presenter's Notes

Title: Laboratorio de Rob


1
INSTITUTO TECNOLÓGICO AUTÓNOMO DE MÉXICO
  • Laboratorio de Robótica
  • Arquitectura SSL
  • Ernesto Torres Vidal
  • Jesús Rodríguez Ordoñez
  • Profr Dr. Alfredo Weitzenfeld Ridel

2
Agenda
  • Arquitectura de un equipo SSL
  • Sistema de Visión (EKVision)
  • Sistema de Inteligencia Artificial (EKIntel)
  • Referee
  • Robot

3
Arquitectura de un equipo SSL
Señal de Video 1
Sistema de Visión
Señal de Video 2
Posiciones de los Robots y Pelota
Sistema de Inteligencia Artificial
Módulo de Comunicación
Comandos a los Robots
Señales del Árbitro
Robot
Control del Árbitro
Módulo de Comunicación
Mecánica
Electrónica
4
Arquitectura SSL
  • Sistema de visión
  • (EKVision)

5
Dimensiones de la Cancha
Las cámaras se colocan 4m por encima del campo
6
Hardware y conexión de cámaras
  • 2 cámaras Guppy (G-033C) marca AVT (Allied Vision
    Technology)
  • Elementos de conexión
  • 2 cables FireWire 4m
  • 2 repetidores FireWire
  • 2 transformadores de 9v
  • 1 tarjeta ExpressCard con 2 puertos FireWire
  • Brazos para sujetar las cámaras

7
Hardware y conexión de cámaras
8
Instalación del software
  • Compuesto por dos programas
  • Software provisto por AVT
  • Sistema EKVision

9
Software de AVT
  • Visualizar las imágenes de las cámaras
  • Realizar la configuración del formato de la
    imagen
  • Ajustar parámetros como
  • obturador de la cámara
  • cuadros por segundo
  • ganancia
  • brillo de la imagen

10
Ajuste de las cámaras
  • Ejecutar el software de AVT
  • Seleccionar las cámaras

11
Ajuste de las cámaras
  • Orientar y ajustar el foco de la imagen
  • Ver completamente los límites del campo y una
    sección extra a partir de la media cancha
  • Ver la imagen lo más derecha posible.
  • El ajuste del foco se realiza manualmente y debe
    permitir que los bordes de los parches sean
    distinguibles y no se vean borrosos.

12
Configuración de la imagen Format
  • Configurar la resolución de la imagen576x444
    (Width, Height)
  • Máximo 60.15 fps
  • Los puntos left y top son útiles para centrar la
    imagen

13
Configuración de la imagen Ctrl 1
  • Shutter modifica los cuadros/s
  • Gain mejorar el tono de los colores cuando hay
    poca iluminación

14
Sistema EKVision
  • Basado en el ejemplo FireDemoProject que se
    encuentra dentro del FirePackage de AVT.
  • Programado utilizando la interfase gráfica de MFC
    de Microsoft Visual C 6.0
  • Permite
  • obtener el buffer de las imágenes,
  • modificar los settings,
  • realizar zoom
  • tomar imágenes .bmp

15
EKVision Menú Principal
  • ActiveCardpermite seleccionar una o dos cámaras.
  • Controles principales para el manejo de todo el
    sistema
  • Cámara
  • Procesamiento
  • Calibración

16
Sistema de coordenadas del sistema de visión
17
Controles
  • Cámara Permite seleccionar alguna de las dos
    cámaras sobre la que se quiere trabajar en los
    procesos de calibración
  • Procesamiento permite cambiar entre la etapa
    inicial de calibración y el proceso de búsqueda
    de objetos
  • Calibración permite seleccionar entre los dos
    tipos de calibración con los que cuenta el
    sistema geométrica y color

18
Calibración Geométrica
  • Obtener un sistema de coordenadas correspondiente
    a las medidas reales en el campo.
  • Permite resolver los problemas de distorsión
    ocasionados por el lente gran angular y la
    intersección entre las cámaras en la región de la
    media cancha.

19
Pasos para la calibración geométrica
  • 1. Seleccionar la cámara que se desea calibrar y
    las opciones de CALIBRACION y GEOMETRICA.
  • 2. Se selecciona el tabulador titulado
    Geométrica.

20
Pasos para la calibración geométrica
  • 3. Dos opciones
  • - Iniciar un nuevo proceso de calibración
  • - Abrir los parámetros de la cámara generados
    por una calibración anterior.

21
Iniciar un nuevo proceso de calibración
  • 1. Seleccionar la opción Iniciar dentro del grupo
    Start Calib Process.
  • 2. Se habilitan los puntos de referencia que se
    deben capturar para que la calibración funcione.
  • Punto Coordenada (X,Y) mm Cámara que lo utiliza
  • P0 4700,6600 Cámara 2
  • P8 4700,3300 Cámaras 1 y 2
  • P22 0,0 Cámara 1

22
Nuevo proceso de calibración (Cont.)
  • 3. Seleccionar el botón y el punto en la imagen
    en donde se encuentra ese punto. Si la selección
    es correcta aparece una cruz naranja y se añade a
    la lista

23
Nuevo proceso de calibración (Cont.)
  • 4. Al terminar los puntos de una cámara oprimir
    el botón Detener. Se puede reiniciar el proceso
    con el botón limpiar. Se guarda un archivo dentro
    de la carpeta C\Calibraciones en el que
    automáticamente se escribe en el nombre del
    archivo la fecha actual

24
Nuevo proceso de calibración (Cont.)
  • 5. Seleccionar la opción Generar para obtener un
    nuevo archivo con el que a partir del archivo de
    puntos se generan los parámetros de la cámara por
    medio del algoritmo Tsai.
  • 6. Finalmente se carga este archivo en el grupo
    Parámetros para Conversión.

25
Pasos para la calibración por color
  • 1. Seleccionar la cámara que se desea calibrar y
    las opciones de CALIBRACION y COLOR en el menú
    principal.
  • 2. Se selecciona el tabulador Calibración

26
Calibración por color (Cont.)
  • 3. El control está compuesto por una lista de los
    colores que se quieren calibrar.
  • Existen dos métodos para calibrar por color.
    Para cambiar entre ambos se utilizan los
    siguientes controles

27
Cubo RGB
28
Calibración por color RGB
  • 4. Para calibrar se selecciona el color y los
    píxeles que se quieren capturar directamente en
    la imagen con el botón izquierdo del ratón.
  • Si se desea eliminar una selección se oprime el
    botón derecho del ratón.
  • En caso de que un grupo de píxeles formen una
    región se dibujará un círculo punteado alrededor
    de la región.
  • Cada color calcula un promedio del valor total de
    los píxeles seleccionados.

29
Espacio HSV
30
Calibración por color HSV
  • Este espacio tiene tres dimensiones, acotado
    entre un rango mínimo y uno máximo.
  • Los colores en la imagen se pueden separar
    fácilmente por medio de estos rangos.

31
Calibración por color HSV
  • Finalizada la calibración de todos los colores en
    HSI es necesario realizar una conversión del
    equivalente de estos rangos al espacio RGB
    seccionando la opción Conjunta.

32
Manejo de archivos de calibración de color
  • Podemos guardar o abrir el resultado de una
    calibración o limpiar completamente una
    calibración utilizando los siguientes controles

33
Búsqueda de Objetos
34
Búsqueda de Objetos Validación de regiones
  • Se define el color con el que juegan los robots
    en Equipo EK.
  • Una vez realizada la segmentación de la imagen se
    utiliza el algoritmo RLE para formar regiones que
    representen a los parches y a la pelota.

35
Búsqueda de Objetos Parámetros de Búsqueda
  • Definir el radio de los robots y el radio de los
    parches los cuales varían dependiendo de la
    altura de las cámaras

36
Información de los robots y la pelota
  • El resultado de la búsqueda se encuentra en el
    tabulador Búsqueda. Se obtiene la coordenada
    real, la velocidad de movimiento (Vx y Vy), y el
    resultado del filtro de Kalman corrección y
    predicción.

37
Información de los robots y la pelota (Cont.)
  • La información de los robots se encuentra en el
    tabulador RobotsEK para nuestro equipo y
    RobotsVS para los contrarios.
  • Los datos que se obtienen son la coordenada, la
    orientación del robot y la velocidad de
    movimiento.

38
Comunicación EKVision y EKIntel
  • Se realiza por medio de una comunicación directa
    en red por medio de un cable cruzado.
  • La configuración de las computadoras es la
    siguiente

Computadora Dir IP Máscara de Red Socket
EKVision 192.168.0.2 255.255.255.0 5001
EKIntelSSL 192.168.0.1 255.255.255.0 5001
39
Arquitectura SSL
  • Sistema de Inteligencia Artificial
  • (EKIntel)

40
Hardware y conexión con periféricos
  • Los comandos que genera el sistema de
    inteligencia se envían a los robots de forma
    inalámbrica con un transceiver conectado a la
    computadora mediante un cable paralelo y el cuál
    debe estar alimentado por medio de un
    transformador de 9volts

41
Hardware y conexión con periféricos
  • Se realiza otra conexión con el Referee box por
    medio de una conexión LAN por ethernet. Se
    utiliza el siguiente convertidor USB-Ethernet

42
Hardware y conexión con periféricos
  • También se utiliza un joystick para probar el
    control de los robots Logitech Freedom 2.4
    Cordless Joystick que se conecta por un puerto
    USB

43
Sistema EKIntel
  • El menú principal permite seleccionar que
    periféricos se desean utilizar.
  • Si alguno de los dispositivos no esta bien
    instalado el sistema no funcionará apropiadamente.

44
Sistema EKIntel
  • Información principal del funcionamiento del
    sistema
  • Otro recuadro informa el estatus del josytick.

45
Sistema EKIntel
  • Los controles generales sirven para elegir el
    color de los robots y el sentido en el que
    juegan. También incluyen el control de
    simulación.
  • La configuración del sentido y color se leen y
    guardan al iniciar y cerrar el sistema en la ruta
    C\Robotica\Controles en el archivo
    Controles.txt

46
EKIntel Sistema de referencia
47
EKIntel Robots EK y contrarios
  • Dos controles para controlar a diez robots.
  • El sistema puede controlar hasta 10 robots
    jugando 5 contra 5.

48
(No Transcript)
49
  • Cada robot contiene la siguiente información
  • La información correspondiente a cada robot se
    guarda y se carga en los archivos de texto
    RobotsEK.txt y RobotsVS.txt ubicados en
    C\Robotica\Robots

50
Simulador y control
51
Simulador Parámetros
  • La ventana de Simulación permite modificar
    cualquiera de los parámetros utilizados dentro
    del simulador de los robots
  • err_dist_sim Rango para decidir si un robot ha
    llegado a su posición final.
  • err_ang_sim Rango para decidir si un robot ha
    llegado a su orientación final.
  • profundidad Rango para decidir si se puede
    manipular la pelota con el kicker y el dribbler.
  • angulo_frontal Ángulo de apertura para definir
    si la pelota está en frente del robot

52
Simulador Parámetros
  • aceleracion_pel Desaceleración de la pelota por
    la fricción de la alfombra
  • tiempo Periodo que define la velocidad de
    simulación.
  • elasticidad Entre 0,1 define el porcentaje de
    velocidad que mantiene la pelota después de
    chocar con algún robot o portería.
  • vel_50 Velocidad de simulación cuando la
    velocidad de control está al 50
  • giro_50 Velocidad de giro cuando la velocidad
    de control está al 50

53
Simulador Parámetros
  • Cada vez que se guarda algún cambio, al cerrar el
    programa, se actualiza el archivo Simulador.txt
    ubicado en C\Robotica\Simulador.
  • Es posible cargar archivos con otros nombres
    utilizando el botón Cargar Archivo

54
Simulador Configuración de Velocidad
  • Existen dos formas de ajustar las tres
    velocidades utilizadas en el simulador máxima,
    de giro y de pateo
  • Personalizada los valores se ingresan
    directamente en el sistema.
  • Automática permite ajustar las tres velocidades
    utilizando el slider de Velocidad control. De
    esta forma la relación entre velocidad real (mm
    por segundo) y el porcentaje definido por el
    slider se realiza por los parámetros de
    simulación vel_50 y giro_50.
  • La velocidad de pateo no se modifica de forma
    automática.

55
EKIntel Control
  • Dos finalidades.
  • Configurar los parámetros para controlar a los
    robots cuando se controlan de forma autónoma.
  • Ajustar los parámetros cuando se desea controlar
    a los robots por medio del joystick.

56
Parámetros de control
  • err_dist_drive Margen para decidir si un robot
    ha llegado a su posición final.
  • err_ang_dirve Margen para decidir si un robot ha
    llegado a su orientación final.
  • max_byte Máximo valor que puede tomar un dato
    que se va a enviar por el transceiver.
  • radio_robot Radio del robot (puede variar
    dependiendo de la altura de la cámara).
  • dist_ref Distancia que debe moverse la pelota a
    partir de un punto de referencia para cambiar
    automáticamente de estado de juego.

57
Parámetros de control
  • err_radio Parámetro de error para definir un
    cambio de estado por cercanía a un punto
  • dist_fren Distancia de frenado y aceleración
    para la velocidad lineal
  • ang_fren Ángulo de frenado para la velocidad de
    giro
  • Los parámetros de control se guardan y se abren
    en el archivo de texto ControlMovimiento.txt en
    la ruta C\Robotica\Control.

58
Parámetros del joystick
  • ang_sum_joy Ángulo que se aumenta al ángulo
    actual para definir la orientación final por
    medio del joystick
  • division_ejes Número de niveles de velocidad que
    puede tener cada eje del joystick
  • rango_giro Rango de sensibilidad para anular el
    movimiento de giro del joystick
  • sensibilidad Rango de sensibilidad para anular
    el movimiento del joystick
  • Los parámetros de control se guardan y se abren
    en el archivo de texto Joystick.txt en la ruta
    C\Robotica\Joystick.

59
Pruebas sencillas
  • Con el método Ratón se puede dar click a
    cualquier punto de la cancha para definir la
    coordenada a la que se desea mover el robot sin
    modificar su orientación.
  • Línea Recta se define el vector de movimiento
    de forma polar o cartesiana. En caso de estar
    activo se escribe la distancia y el ángulo en el
    que se quiere mover al robot, así como la
    orientación final.
  • Dispositivos del Robot. El dribbler se controla
    por medio del checkbox Dribbler y existen
    siete posibles niveles de pateo Kicker.

60
Gráficas
  • El sistema EKIntel utiliza una representación
    gráfica del campo de juego la cual está
    programada utilizando OpenGL.
  • La visualización puede ser en 2D o 3D

61
Gráficas Vector de movimiento
  • Vector de movimiento se compone de una línea que
    indica la trayectoria en línea recta que debe
    seguir el robot y un circulo que representa la
    orientación que debe tomar

62
Gráficas Potencia del kicker
  • Potencia del kicker La potencia de pateo se
    indica con variaciones entre los colores amarillo
    y rojo en donde amarillo es el nivel 1 y rojo es
    el nivel 7

63
Gráficas
  • Uso del dribbler La activación del dirbbler se
    dibuja con un círculo morado
  • Número del Robot

64
Gráficas Uso del dribbler
  • Árbol de evasión El árbol creado para la evasión
    de obstáculos es un conjunto de puntos y líneas
    que describen los nodos y las extensiones

65
Gráficas Trayectorias
  • Trayectorias Se pueden ver los últimos n puntos
    por los que ha pasado el robot.

66
Gráficas pelota
  • Pelota Además de la pelota se dibuja una línea
    que representa la predicción que entrega el
    sistema de visión por medio del filtro de Kalman.

67
Referee
  • El tabulador del referee Ref muestra una
    ventana que permite generar comandos en caso de
    que el Referee-box no esté conectado a la
    computadora.
  • El uso del árbitro es indispensable para la
    programación de los comportamientos en la IA.

68
Protocolo del Referee
69
Diagrama de estadosdel Referee-box
70
Inteligencia EK y contrarios
  • La inteligencia artificial es el núcleo del
    sistema y es el que permite controlar los robots
    de manera autónoma.
  • Todo el árbol utilizado para definir los
    comportamientos se guarda en un archivo de texto
    en la ruta C\Robotica\Inteligencia. Con el
    nombre ArbolEKárbol a usar.txt.
  • Para que el sistema pueda generar el árbol
    requiere de una serie de archivos ubicados en la
    carpeta C\Robotica\Inteligencia\JugadasEK.

71
Inteligencia EK y contrarios
Write a Comment
User Comments (0)
About PowerShow.com