Robot Cañón Integrantes: Felipe Riquelme Mario Leverone Gonzalo Flores Universidad de Chile - FCFM Desarrollo de Software para Robots 2010 Grupo 9 - Robot Cañón
Proyecto El proyecto fue armar un robot capaz de: ◦Identificar un blanco a cierta distancia. ◦Apuntar hacia este. ◦Disparar un pequeño proyectil (que es parte del kit lego). Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Motivación Nos atrae la idea de un objeto que dispare proyectiles. Lanzamiento de Proyectil visto experimentalmente. Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Etapas desarrolladas Las etapas que hemos desarrollado para conseguir el objetivo son: Visión sobre una dimensión para el lanzamiento del proyectil, con variación del ángulo de disparo. Ampliar la visión a dos dimensiones, con variación del ángulo de disparo y dejando el disparo de forma manual. Visión en dos dimensiones, sin variación del ángulo de disparo, dejando el disparo de forma automática. Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Construcción Hardware Estructura principal: Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Cañón: Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Sensores: Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Ruedas orugas: Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Bloque y vista final: Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Diagrama UML Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Estructura de clases Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010 static public void main(String [] args) { piloto.setMoveSpeed(200); piloto.setTurnSpeed(200); while(!objetivo) { Avanzar(dist_inicial); if(objetivo) break; Rotar(); if(objetivo) break; Ajustar_ruta( 8); if(objetivo) break; } Disparar(); Button.waitForPress(); }
Alcance del robot Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Código de algunos métodos Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010 /* Método encargado de realizar una rotación * para recorrer el campo de alcance */ static private void Ajustar_ruta( int puntos) { System.out.println("Ajuste_ruta"); piloto.rotate(360/puntos, true); while(piloto.isMoving() && !objetivo){ Buscar(alcance); } piloto.stop(); } /* Método que determina si hay algún objetivo (obstáculo) a cierta distancia.*/ static private void Buscar(int mira){ Dobjetivo= Usound.getDistance(); if(Dobjetivo<=mira){ objetivo=true; }
Principales problemas La forma en la cual el sensor de ultrasonido mide los datos. Geometría de algunos tipos de piezas. Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Estadísticas De cada 5 lanzamientos, obtuvimos 4 aciertos, lo que se traduce en 80% de aciertos. Robot Cañón – Grupo 9 - Desarrollo de Software para Robots 2010
Demostración