Академический Документы
Профессиональный Документы
Культура Документы
solucin para la
prueba del Minisumo,
Madrid-Bot 2009
Salustiano Nieva
Juan Antonio Brea Moral
ndice
1. Introduccin
2. Arquitectura del robot
3. Madridbot 2009
4. Maquinas de estado finito
5. Arquitectura Subsumption
6. Una estrategia de solucin
7. Pseudo cdigo
8. Tcnicas avanzadas
9. Recursos
Divide et vinces
Julio Cesar
Madridbot 2009
Introduccin
El objetivo de esta prueba es que dos robots que compiten
dentro de un Tatami o rea de combate, luchen por
conseguir la mayor cantidad de puntos efectivos o Yuhkoh.
El combate lo gana el Robot que consigue ms puntos. Los
robots tienen cumplir la condicin de no pesar ms de 500 g
ni exceder de las dimensiones de 10 cm de ancho por 10cm
de largo.
Mas informacin sobre la prueba:
http://www.madridbot.org/Documentos/Documentos%202008/Normativa%20Mini
sumo%202008.pdf
Madridbot 2009
Sistema sensitivo
El sistema sensitivo del robot
esta compuesto por 4
sensores que miden el color
y 2 sensores de medicin de
distancia
Madridbot 2009
Sensor infrarrojo
Sensor
CNY70
Madridbot 2009
Madridbot 2009
10
Madridbot 2009
11
Madridbot 2009
12
Madridbot 2009
13
Madridbot 2009
14
Madridbot 2009
15
Madridbot 2009
16
Madridbot 2009
17
Madridbot 2009
18
Madrid-Bot
Madrid-Bot es un concurso de micro robtica organizado
por los Centro que imparten las enseanzas del Ciclo
Formativo de Grado Superior de Desarrollo de Productos
Electrnicos en la Comunidad Autnoma de Madrid.
Madrid-Bot intenta ser un concurso de micro-robtica y
ms aun un lugar de encuentro donde los alumnos
matriculados en Centros de Educacin Secundaria y
especialmente los alumnos y alumnas de Bachillerato,
Ciclos Formativos de la familia profesional de electrnica,
informtica, etc.. puedan no slo competir con sus
prototipos sino tambin compartir sus conocimientos.
Madridbot 2009
19
Madridbot
Pruebas del concurso
Las pruebas que se realizan en Madridbot, son las
siguientes:
1. Rastreadores
2. Velocistas
3. Laberinto
4. Mini sumo
5. Prueba Libre
Madridbot 2009
20
21
Madridbot 2009
22
Madridbot 2009
23
Arquitectura Subsumption
La arquitectura subsumption es una arquitectura de tipo
reactiva, desarrollada por Rodney brooks y se basa en la
construccin de capas de comportamiento.
Este robot se podra modelizar a travs de 4
comportamientos:
1. Atacar
2. Esquivar
3. Buscar
4. Sobrevivir
Madridbot 2009
24
Madridbot 2009
25
Distancia de bsqueda
Madridbot 2009
26
Madridbot 2009
27
Pseudo cdigo
Se propondrn una serie de versiones del sistema de
control del robot de Sumo las cuales irn incrementando la
dificultad del diseo.
1. sumoBotV1
2. sumoBotV2
Madridbot 2009
28
Pseudo cdigo
Seudocodigo sumoBotV1:
sumoBotV1(){
esperar5Segundos();
mientras(true){
goToEdge();
backwardSlightly();
spinRight();
}
}
Madridbot 2009
29
Pseudo cdigo
Seudocodigo sumoBotV1:
goToEdge(){
mientras(!detectEdge()){
forward(-1)
}
}
backwardSlightly(){
backward(200);
}
Madridbot 2009
30
Pseudo cdigo
Seudocodigo sumoBotV1:
spinRight(){
}
Madridbot 2009
31
Pseudo cdigo
El anterior sistema puede mejorarse de las siguientes
maneras:
1. Aadir aleatoriedad a los giros
2. Patrones de avance alternativos
Madridbot 2009
32
Pseudo cdigo
El seudo cdigo que se presenta a continuacin se basara
en gestionar los comportamientos del robot.
1. Estoy en el tablero?
2. Dnde esta mi oponente?
3. Sacar al contrario del tatami
Madridbot 2009
33
Pseudo cdigo
Seudocodigo Programa Principal:
sumoBotV2(){
esperar5Segundos();
mientras(true){
statusRobot = getPositionStatus();
if(statusRobot){
foundOponent = searchOpponent();
if(foundOponent){
attackOponent();
}
}else{
surviveOnTatami()
}
}
Madridbot 2009
34
}
Pseudo cdigo
Seudocodigo Programa Principal:
getPositionStatus(){
boolean status = true;
readCNYSensors();
if(leftFrontal == 0){
status = false;
}else if(rightFrontal == 0){
status = false;
}else if(leftBack == 0){
status = false;
}else if(rightBack == 0){
status = false;
}
return status;Madridbot 2009
}
35
Pseudo cdigo
Seudocodigo Programa Principal:
surviveOnTatami(){
readCNYSensors();
knowWhereIsTheDanger();
survive();
}
Madridbot 2009
36
Pseudo cdigo
Seudocodigo Programa Principal:
searchOpponent(){
boolean status = false;
status = findOpponent(135);
if(status){
status = findOpponent(90);
if(status){
status = findOpponent(45);
}
}
return status;
}
Madridbot 2009
37
Pseudo cdigo
Para mejorar este cdigo se podra mejorar con las
siguientes mejoras:
1. Mejorar la precisin de la deteccin con un uso
combinado de los sensores
2. Aleatoriedad de movimientos de ataque
3. Mejora de la Inteligencia en la supervivencia
Madridbot 2009
38
Modelos avanzados
Los modelos avanzados que gestionan el robot Sumobot,
emplean las siguientes tcnicas:
1. Localizacin a travs del Algoritmo de Monte Carlo y
otras tcnicas probabilsticas
2. Algoritmos genticos / evolutivos
Madridbot 2009
39
Tcnicas avanzadas
Algoritmo de Monte Carlo
El Algoritmo de Monte Carlo, permite estimar la localizacin
de un robot en un ambiente conocido, dado sus movimientos
y mediciones de los sensores en el tiempo.
Permite solucionar el problema el cual un robot no conoce su
posicin inicial pero necesita saber en dnde se encuentra.
Se basa en la coleccin de muestras (las cuales son
conocidas tambin como partculas).
Cada muestra consiste de una posible posicin que el robot
puede ocupar en el tiempo actual, junto con un valor que
representa la probabilidad de que el robot est en esa
posicin.
Madridbot 2009
40
Tcnicas avanzadas
Algoritmos genticos
Los Algoritmos genticos son llamados as porque se
inspiran en la evolucin biolgica y su base genticomolecular.
Estos algoritmos hacen evolucionar una poblacin de
individuos sometindola a acciones aleatorias semejantes a
las que actan en la evolucin biolgica (mutaciones y
recombinaciones genticas), as como tambin a una
seleccin de acuerdo con algn criterio, en funcin del cual
se decide cules son los individuos ms adaptados, que
sobreviven, y cules los menos aptos, que son descartados.
Madridbot 2009
41
Recursos
Documentacin adicional
Eventos en Espaa:
http://www.madridbot.org/index.htm
http://complubot.educa.madrid.org/inicio.php?seccion=principal
http://www.eis.uva.es/amuva/robolid/
Sumobot:
www.cs.bgu.ac.il/~sipper/courses/atea061/Sumobot.ppt
http://www.robotika.sk/elosys/2007/SumoCode.html
Madridbot 2009
42