universidad salamanca hispabot'03 (alcalá de henares)1 µrobot diego a. vicente,e. espino, r....

Post on 28-Jan-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

HISPABOT'03 (Alcalá de Henares)2

Indice

• Descripción del robot

• Sensores

• Actuadores

• Procesamiento

• Conclusiones

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

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

HISPABOT'03 (Alcalá de Henares)5

Sensores

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

• Disposición en “V” invertida

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

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

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

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

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

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

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,...

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

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

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)

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

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

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”

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

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)

HISPABOT'03 (Alcalá de Henares)21

Control Borroso

Tablas Potencia Controlador Borroso

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)

HISPABOT'03 (Alcalá de Henares)

23

UNIVERSIDAD SALAMANCA

µrobot Diego

top related