universidad salamanca hispabot'03 (alcalá de henares)1 µrobot diego a. vicente,e. espino, r....
Post on 28-Jan-2016
215 Views
Preview:
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