“seminario de diseño y construcción de micro-robots ... · 24/03/2006 seminario...

68
24/03/2006 SEMINARIO HISPABOT'2006 1 “Seminario de Diseño y Construcción de Micro-robots” Diseño del Software. Fco Javier Rodríguez SEMINARIO DISEÑO SEMINARIO DISEÑO ROBOTS’2006: Diseño del Software ROBOTS’2006: Diseño del Software

Upload: others

Post on 20-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 1

“Seminario de Diseño y Construcción de Micro-robots”

Diseño del Software.Fco Javier Rodríguez

SEMINARIO DISEÑOSEMINARIO DISEÑO ROBOTS’2006: Diseño del SoftwareROBOTS’2006: Diseño del Software

Page 2: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 2

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 3: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 3

INTRODUCCIÓN.INTRODUCCIÓN.

• Punto de partida:– El microbot tiene que:

• seguir una línea (rastreadores, velocistas), localizar a su contrario y expulsarlo (sumo), etc.

– Restricciones:• Temporales : el microbot tiene que ser el más rápido.• Coste: debe tener un coste asequible.• Fiabilidad• Consumo.

• Para conseguir el objetivo se dispone de:– Información sensorial. – Plataformas hardware de procesado.– Algoritmos.– Metodologías de programación.

Page 4: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 4

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWAREPLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 5: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 5

PLATAFORMAS DE PROCESADO.PLATAFORMAS DE PROCESADO.

• ¿Qué debe tener la plataforma?

Page 6: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 6

PLATAFORMA HARDWARE: CRITERIOS DE ELECCIÓN.PLATAFORMA HARDWARE: CRITERIOS DE ELECCIÓN.

• Prestaciones.• Disponibilidad.• Documentación.• Herramientas de desarrollo:

– ¿Cuántas?• Ensamblador y compilador.• Simuladores, monitores y emuladores.

– ¿A qué precio?

Page 7: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 7

PLATAFORMA HARDWARE: EJEMPLOS.PLATAFORMA HARDWARE: EJEMPLOS.

• Handy-Board.– HC11.– Para pequeños robots.– 32kBytes RAM.– Control de motores.– Multitarea.– C interactivo.– Pcbug.

Page 8: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 8

PLATAFORMA HARDWARE: EJEMPLOS.PLATAFORMA HARDWARE: EJEMPLOS.

• Tarjeta EVA2.– HC11.– 32 kB RAM– Puerto serie.– Control de motores.

Figura 6. Aplicación basada en la familia de microcontroladoresMC68HC11.

Figura 6. Aplicación basada en la familia de microcontroladoresMC68HC11.

Page 9: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 9

PLATAFORMA HARDWARE: EJEMPLOS.PLATAFORMA HARDWARE: EJEMPLOS.

• EYE-BOT.– 68332.– 1MB RAM.– 512k código.– Para robots con más

inteligentes.– BDM.

Page 10: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 10

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

••¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 11: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 11

¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• Objetivo: – A partir de la información sensorial, generar las

señales de actuación que muevan al robot adecuadamente.

• Enfoques:– Fusión sensorial.– Fusión de comportamientos.

Page 12: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 12

FUSIÓN SENSORIAL.FUSIÓN SENSORIAL.

ENTRADASSENSORIALES

INTERPRE-TACIÓN

MODELODEL

ENTORNO

PLANIFI-CACIÓN

EJECU-CIÓN

SALIDA A LOS ACTUADORES

• MUCHA CAPACIDAD DE PROCESO Y MEMORIA.• EL MODELO DEL ENTORNO SUELE SER RÍGIDO.• MODELO SECUENCIAL. • PROBLEMAS EN ENTORNOS CAMBIANTES.

Page 13: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 13

FUSIÓN DE COMPORTAMIENTOS.FUSIÓN DE COMPORTAMIENTOS.

– Se establecen distintos comportamientos ante distintas situaciones.

– Todos los comportamientos están activos al mismo tiempo, generando salidas a los actuadores.

– Una tarea de arbitraje decide qué señales llegan a los sensores.

– No es necesario un modelo preciso del entorno.– Es modular y ampliable fácilmente.

Page 14: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 14

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 15: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 15

FUSIÓN DE COMPORTAMIENTOS.FUSIÓN DE COMPORTAMIENTOS.

– Ejemplo para un microbot con:• Anillo de ultrasonidos.• Detector de infrarrojos.• Detector de nivel bajo de batería.

– Un posible funcionamiento:• Tarea para evitar obstáculos: evitar• Tarea para guiar al robot al banco de recarga cuando

las baterías están bajas: recargar.

Page 16: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 16

FUSIÓN DE COMPORTAMIENTOS.FUSIÓN DE COMPORTAMIENTOS.

NIVEL DE BATERÍA

DETECTORIR

ULTRA-SONIDOS

RECARGAR

EVITAR MOTORESS

000000ADAA

IDI00IDDID IDI00IADAA

Page 17: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 17

FUSIÓN DE COMPORTAMIENTOS: IMPLEMENTACIÓN.FUSIÓN DE COMPORTAMIENTOS: IMPLEMENTACIÓN.

– Los comportamientos deben ejecutarse concurrentemente.

– Cada comportamiento es una tarea.– Debe comprobarse que es posible atender todas las

tareas: planificabilidad del sistema.– Cada tarea se planifica mediante una herramienta

adecuada: • Máquina de estados. • Red de Petri.

– Las tareas planificadas se traducen a código:• C + Sistema operativo en tiempo real.• Lenguaje de programación concurrente: Java, ADA, etc.

Page 18: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 18

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 19: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 19

FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.

– Robot que se mueve hacia delante, cuando encuentra una fuente de luz la sigue. Si aparecen obstáculos (detectados por IR) los evita. Si, no obstante, choca contra algún objeto, unos sensores de contacto le permiten detectarlo para iniciar una secuencia de escape.

Page 20: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 20

FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.

DETECTORESDE

CONTACTO

DETECTORIR

CÉLULASFOTOECAS.

EVITAR

SEGUIR S

ESCAPE

MOTORESSADELANTE

S

Page 21: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 21

FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.

MÁQUINA DE ESTADOS PARA LA TAREA DE ESCAPE.

ESPERAR

ATRÁS

IZDADCHA

IMP. IZDA

IMP. FRONTAL

IMP. DCHA

TIMEOUT3

TIMEOUT1 TIMEOUT2

Page 22: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 22

FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.FUSIÓN DE COMPORTAMIENTOS: EJEMPLO.

PSEUDO CÓDIGO DE LA TAREA DE ESCAPE:

ESTADO 1:if choque=NO

volverelse if choque=IZDA

Saltar a estado 2else if choque=RIGHT

Saltar a estado 4else Saltar a estado 3

ESTADO2:if tiempo en este estado> timeout1

Saltar a estado 1else

comandos motor=girar dcha.Volver.

........

Page 23: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 23

FUSIÓN DE COMPORTAMIENTOS: EJEMPLOFUSIÓN DE COMPORTAMIENTOS: EJEMPLO

void main(){

start_process (motores());start_process (adelante());start_process (seguir());start_process (evitar());start_process (escape());start_process (arbitrar());

}

void arbitrar(){ while(1){ if flag_adelante

entrada_motor=comando_adelante;if flag_seguir

entrada_motor=comando_seguir;if flag_evitar

entrada_motor=comando_evitar;......

Sleep(tick)}

int comando_adelante;int flag_adelante;void adelante(){

while(1){comando_adelante=ADEL;flag_adelante=1;}

}

Page 24: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 24

FUSIÓN DE COMPORTAMIENTOS: EJEMPLOFUSIÓN DE COMPORTAMIENTOS: EJEMPLO

Page 25: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 25

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO..

• SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.

Page 26: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 26

SISTEMASSISTEMAS DE TIEMPO REAL.DE TIEMPO REAL.

• ¿Qué es un sistema de tiempo real?– Debe cumplir ciertas restricciones de tiempo, es decir

debe ser predecible.– Deben ser fiables y seguros.– Pueden ser críticos o no.

Page 27: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 27

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

• Proceso de diseño:– Identificar estímulos y respuestas asociadas– Definir las limitaciones de tiempo asociadas

con cada estímulo y respuesta– Diseño de algoritmos para el procesamiento de

estímulos y generación de respuestas– Diseño de una planificación del sistema que

garantice que las tareas sean completados a tiempo conociendo sus plazos de respuesta.

Page 28: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 28

SISTEMASSISTEMAS DE TIEMPO REAL.DE TIEMPO REAL.

• Los sistemas de tiempo real deben atender, a tiempo, un conjunto de tareas.– Periódicas, aperiódicas o esporádicas, urgentes o no urgentes, etc.

• Los aspectos temporales de la tareas son:Instante de activación Límite (Deadline)

Inicio Fin

Tiempo de respuesta

Plazo máximo de respuesta

Page 29: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 29

SISTEMASSISTEMAS DE TIEMPO REAL.DE TIEMPO REAL.

• Concurrencia (atender varios eventos en paralelo):

– Tareas independientes implementadas en:• Lenguajes concurrentes (ADA, Java, etc.)• Lenguaje C + SOTR.

– Debe garantizarse la atención de todas las tareas a tiempo. Para ello:

• Técnicas de planificación de tareas con asignación de prioridades.

Page 30: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 30

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 31: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 31

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 32: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 32

SISTEMASSISTEMAS DE TIEMPO REAL: planificación con prioridades fijas.DE TIEMPO REAL: planificación con prioridades fijas.

Page 33: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 33

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 34: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 34

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 35: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 35

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 36: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 36

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 37: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 37

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 38: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 38

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 39: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 39

SISTEMAS DE TIEMPO REAL.SISTEMAS DE TIEMPO REAL.

Page 40: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 40

SISTEMAS DE TIEMPOSISTEMAS DE TIEMPO REALREAL

• Componentes de un SOTR.– Reloj de tiempo real

• Provee información para la planificaciónde procesos (processscheduling).

– Manejador de interrupciones• Controla las peticiones de servicios aperiódicos.

– Scheduler (Planificador)• Selecciona el próximo proceso a ejecución.

– Administrador de recursos• Asigna recursos de memoria y procesador a las tareas.

– Despachador• Inicia la ejecución de procesos.

– Primitivas para la creación, comunicación y sincronización de tareas.

Page 41: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 41

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.REDES DE PETRI.

• CONCLUSIONES.

Page 42: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 42

REDES DE PETRI.REDES DE PETRI.

• Una forma de modelar sistemas de tiempo real son las Redes de Petri.

2 2

3

2 2

3

Page 43: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 43

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1

Enviar mensaje

Esperar ACK

Enviar Ack

Recibir mensaje

P2

Page 44: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 44

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1 P2

Page 45: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 45

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1 P2

Page 46: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 46

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1 P2

Page 47: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 47

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1 P2

Page 48: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 48

REDES DE PETRI: Ejemplo.REDES DE PETRI: Ejemplo.

P1 P2

Page 49: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 49

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 50: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 50

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 51: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 51

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 52: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 52

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 53: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 53

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 54: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 54

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 55: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 55

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 56: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 56

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 57: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 57

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 58: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 58

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 59: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 59

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 60: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 60

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 61: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 61

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 62: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 62

REDES DE PETRI: REDES DE PETRI: EjemploEjemplo 22

Produce

Consume

Buffer

Page 63: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 63

REDES DE PETRI: Implementación.REDES DE PETRI: Implementación.

• INTERPRETADA:– La estructura de la RdP y su marcado se

codifican en estructuras de datos de las cuales uno o varios programas extraen la información para hacer evolucionar la RdP.

• COMPILADA:– Se generan uno o varios programas cuyos flujos

de control reproducen el comportamiento de la RdP

Page 64: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 64

REDES DE PETRI: Implementación.REDES DE PETRI: Implementación.

• Existen varias vías para la implementación:– Interpretada o compilada.– Exhaustiva o dirigida por el marcado.– Síncrona o asíncrona.– Secuencial o en paralelo,– Centralizada o descentralizada (uno o varios

procesos hacen avanzar la red).– Etc.

Page 65: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 65

REDES DE PETRI: Implementación.REDES DE PETRI: Implementación.

p23

p1 t1

t2

p3

t01

p0

2

2

char C [][] = {{-1, 0, 1},{ 1, 0,-1},{ 2,-1, 0},{ 0, 1,-2}} ;

BOOLEAN Sensibilizada (unsigned char T) {

BOOLEAN Sensib = TRUE ;int P ;

for (P=0; P<NUMLUG; P++) {if (C[P][T] < 0) {if (M[P] < - C[P][T])Sensib = FALSE ;

}}return Sensib ;

}

void Actualiza_Marcado (MARCADO M, unsigned char T) {

for (P=0; P<NUMLUG; P++) {M[P] += C[P][T] ;

}}

Page 66: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 66

REDES DE PETRI: Implementación.REDES DE PETRI: Implementación.

#define NUMLUG 4 #define NUMTRANS 3 ...unsigned char M[NUMLUG] = {1,0,0,0} ;unsigned char Sig_M[NUMLUG] = {1,0,0,0} ;

/*Estructura de datos que codifica la RdP */...

void main (void) {Inicializacion () ;while (TRUE) {memcpy (M, Sig_M, sizeof(M)) ;Generacion_Salidas (M) ;Lectura_Entradas (&MA, &MB, ...) ;for (T=1;T <= NUMTRANS; T++) {if (Sensibilizada (T)) {if (Condicion(T)) {Actualiza_Marcado();Accion (T) ;

}}

}}

}

Page 67: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 67

ÍNDICE DE LA PRESENTACIÓN.ÍNDICE DE LA PRESENTACIÓN.

• INTRODUCCIÓN

• PLATAFORMAS HARDWARE

•¿CÓMO COMBINAR LA INFORMACIÓN SENSORIAL?

• SUPERPOSICIÓN DE COMPORTAMIENTOS.

• UN EJEMPLO.

• SISTEMAS DE TIEMPO REAL.

• REDES DE PETRI.

• CONCLUSIONES.CONCLUSIONES.

Page 68: “Seminario de Diseño y Construcción de Micro-robots ... · 24/03/2006 SEMINARIO HISPABOT'2006 13 FUSIÓN DE COMPORTAMIENTOS. – Se establecen distintos comportamientos ante distintas

24/03/2006 SEMINARIO HISPABOT'2006 68

CONCLUSIONES.CONCLUSIONES.

• La plataforma ideal para un microbot: microcontrolador + módulos específicos.

• Elección del µC: precio, disponibilidad, conocimientos y herramientas de desarrollo.

• La mejor estrategia: varios comportamientos, cada uno de los cuales se corresponde con una tarea.

• Planificar las tareas.• Implementar con SOTR + compilador de C.• Modelar con Redes de Petri.