UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R....

23
HISPABOT'03 (Alcalá de Henares) 1 UNIVERSIDAD SALAMANCA µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática Universidad de Salamanca

Transcript of UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R....

Page 1: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)

1

UNIVERSIDAD SALAMANCAµrobot Diego

A. Vicente,E. Espino, R. Aguilar, B. Curto, V. MorenoDpto. Informática y Automática

Universidad de Salamanca

Page 2: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)2

Indice

• Descripción del robot

• Sensores

• Actuadores

• Procesamiento

• Conclusiones

Page 3: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)3

Descripción de Diego

• Robot rastreador• Capaz de seguir una línea negra sobre fondo

blanco

• Capaz de ir por la bifurcación correcta

• Limitaciones de tamaño 20x30 cm

• Velocidad entre 40 – 50 cm/s

• Sencillo y de bajo coste

Page 4: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)4

Descripción de Diego

• Sensores y actuadores• Sensores que detectan la línea negra

• Actuadores para mover el robot

• Ciclo clásico

Sensores Procesador Actuadores

Page 5: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)5

Sensores

• Hardware• 8 sensores de infrarrojos (CNY-70)

• Disposición en “V” invertida

Page 6: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)6

Sensores

• Software• Lectura a través de un puerto del procesador

• Entrada leída por sondeo

• Tratamiento de la entrada• Independencia del ancho de la pista

• Detección de bifurcaciones

• Admisión de tolerancias

Page 7: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)7

Sensores

• Tratamiento de la entrada• Búsqueda de la “dirección”

de la marca

• Detección de huecos

(marcas de bifurcaciones)

8 7 6 5 4 3 2 1

8 7 6 5 4 3 2 1

Page 8: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)8

Sensores

• Funciones implementadas• bitDerecho

– Devuelve un número entre el 0 y el 8 que indica el primer bit puesto a 1 por la parte derecha

• bitIzquierdo– Devuelve un número entre el 0 y el 8 que indica el primer bit

puesto a 1 por la parte izquierda

• hayHueco– Devuelve 0 (falso) o 1 si hay huecos

• ladoMarca– Devuelve 1 si la marca es por la derecha o 2 si es por la izquierda– Comparamos por qué lado ha crecido más la lectura respecto a la

lectura anterior a la marca

Page 9: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)9

Actuadores

• Hardware• 2 Motores procedentes de modelismo• Reductora incorporada• Circuitería de control PWM integrada

• Necesidad de “trucarlos”• Ruedas de 14 cm acopladas a los motores

0V

5V

5 ms 10 ms0 ms

Page 10: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)10

Actuadores

• Características técnicas• 45º en 0,12 s

• Alimentación entre 4,5V y 6V

• Montaje opuesto

• Separación entre ruedas de 10 cm• Giro diferencial de radio mínimo de unos 5 cm

• Velocidad lineal máxima de unos 45 cm/s

Page 11: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)11

Actuadores

• Software• Control PWM de unos 4,5 ms

• 8 niveles de velocidad adelante y 8 atrás

• Escritura del valor del ciclo PWM en un puerto de 8 bits

85 92 101

velocidad

Page 12: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)12

Procesamiento

• Hardware– Micro 16F876A de Microchip

– Instrucciones RISC

– 4 MHz (1MIPS)

– 8k Memoria

– 3 Puertos E/S multipropósito

– Control PWM

– Conversores A/D

– Temporizadores,...

Page 13: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)13

Procesamiento• Programación

• Utilización del compilador C2C++• Ventajas de C vs Ensamblador

– No es un sistema crítico que requiera código óptimizado

– Permite pensar en “alto nivel”

– Manejo de estructuras de datos y de código complejas

• Programación con tarjeta SMT2 • Puerto serie del PC

Page 14: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)14

Procesamiento

• Software• Modelo básico (entrada-proceso-salida)• Problemas a resolver

• Detectar marcas de bifurcación y tomar bifurcaciones correctamente

– Máquina de estados

• Robot sobre la línea de la forma más eficiente posible

– Lógica borrosa• 2 Tablas precalculadas

Page 15: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)15

Máquina de estados

• Detectar marcas de bifurcación y tomar bifurcaciones correctamente.• Definición de un AFD. (Estados, eventos, acciones)

• Tres estados de funcionamiento– 0: Control normal (seguimiento de línea)– 1: Detección de marca de bifurcación– 2: Control lateral según la marca leída

• Eventos– A: Hueco detectado– A’: Hueco durante un tiempo determinado– B: Línea detectada (sin huecos)– C: Temporizador (se ha alcanzado un tiempo determinado)

Page 16: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)16

Máquina de estados

• Acciones• En 0: Control normal. Bit derecho + Bit Izquierdo.

• En 1: Control lateral. Opuesto al lado de la marca. 2* bitNoMarca

• En 2: Control lateral: Del lado de la marca. 2* bitLadoMarca.

Estado 0

Estado 1

Estado 2

Estado 00 1

2

Inicio

A

A’

A

B

B

No C

C

Page 17: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)17

Sistema de Control Borroso

Desemborronamiento

Base de reglas

Motor deInferencia

Emborronamiento

Entrada 1Entrada 2...Entrada p

Salida 1Salida 2...Salid a q

Dirección (Posición Línea) PotenciaMotorIzquierdo

PotenciaMotorDerecho

Page 18: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)18

Variables de entrada•Situación de la línea negra respecto al frente del robot

Funciones de pertenencia (Variable lingüística “DIRECCIÓN”

Page 19: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)19

Variables de Salida• R = Potencia a aplicar al motor derecho

• L = Potencia a aplicar al motor izquierdo

Funciones de pertenencia Var. lingüística Potencia Motor Derecho

Page 20: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)20

Reglas Borrosas

•Ejemplo: GIRO DIFERENCIAL

•IF entorno es “difícil” AND dirección es “negativa”(línea-izq) THEN

potencia del motor derecho es negativo alto (nh)

AND potencia del motor izquierdo es positivo alto (ph)

Page 21: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)21

Control Borroso

Tablas Potencia Controlador Borroso

Page 22: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)22

Conclusiones

• Aplicación práctica de lógica borrosa

• Implementación sobre un procesador de bajas prestaciones y bajo coste

• Robustez de funcionamiento

• Campeón del concurso ALCABOT-2002

• Subcampeón del concurso ROBOLID-2003 (Fase clasificatoria de Castilla-León)

Page 23: UNIVERSIDAD SALAMANCA HISPABOT'03 (Alcalá de Henares)1 µrobot Diego A. Vicente,E. Espino, R. Aguilar, B. Curto, V. Moreno Dpto. Informática y Automática.

HISPABOT'03 (Alcalá de Henares)

23

UNIVERSIDAD SALAMANCA

µrobot Diego