ESII Drone Challenge

Temática

Drone Challenge es una plataforma de divulgación sobre ciencia y tecnología desarrollada por la Escuela Superior de Ingeniería Informática, en colaboración con el Instituto de Investigación en Informática y el Departamento de Sistemas Informáticos de la Universidad de Castilla–La Mancha.

El desafío

El desafío consiste en programar el sistema de navegación automática de un cuadricóptero, proporcionándole la capacidad de sobrevolar un área, atravesando una serie de ventanas, para aterrizar en el mismo lugar de despegue.

¡Todo ello empleando el menor tiempo posible!

Participantes

Drone Challenge es un desafío por equipos para alumnos de ESO, Bachillerato y Formación Profesional. Los equipos estarán formados por entre dos y cuatro estudiantes (del mismo Centro) y un profesor (que actuará como responsable del equipo). Cada equipo participará en representación de su Centro, aunque se permiten múltiples equipos por Centro.

Los alumnos que quieran afrontar el reto deberán contactar con uno de sus profesores, formar un equipo, e inscribirse en la web de la competición. La participación en la misma es gratuita.

Se admitirán equipos procedentes de Institutos de Castilla–La Mancha. Excepcionalmente, la Escuela se reserva el derecho de admitir otros equipos, lo cual sería convenientemente anunciado.

Herramientas de trabajo

Los participantes trabajarán con un entorno de desarrollo y un entorno de simulación.

El entorno de desarrollo permite definir el comportamiento del drone de forma sencilla y visual mediante un conjunto reducido de órdenes. Está implementado en Matlab/Simulink. No obstante, no se requieren conocimientos previos sobre esta herramienta para poder participar en la competición.

Por su parte, el entorno de simulación mostrará el escenario de operación y al drone desplazándose por el mismo en base al comportamiento programado por los participantes en el entorno de desarrollo. Los participantes no deben modificar ningún aspecto del simulador. No se requieren conocimientos previos sobre esta herramienta, puesto que su uso se reducirá a lanzar, reiniciar y detener las simulaciones realizadas.

Sensores del cuadricóptero

Como se muestra en la imagen, el entorno de desarrollo recibe del simulador la posición y orientación del drone en el entorno tridimensional. Esto se hace a través de las variables posX, posY, posZ y rumbo respectivamente.

La posición del drone viene dada según un sistema de coordenadas cuyo origen está ubicado en el centro del escenario de operación. A la derecha se muestra dicho sistema de coordenadas, mostrándose en rojo, verde y azul los ejes X, Y y Z, respectivamente.

El entorno de desarrollo recibe el vídeo transmitido por la cámara que porta el drone. Dicha imagen se procesa automáticamente buscando los diferentes marcos y actualizando la variable cam.

Los programadores pueden consultar dicha variable, que dispone de tres campos red, green y blue. Para cada marco, podemos averiguar sus límites (norte, sur, este y oeste) en la pantalla, de forma que resulta sencillo ubicarlo.

Control del vuelo

El control del drone se implementa mediante la asignación de cinco variables. El programador puede observar sus valores mediante el display de la figura.

La variable on∈{0,1} puede estar desactivada (0) o activada (1). En caso de estar desactivada, los motores del drone se pararán, haciendo que éste caiga al suelo. Si la variable está activada, el drone permanecerá suspendido en el aire y se desplazará en función del resto de variables.

A la derecha aparece el sistema de coordenadas relativo al drone, mostrándose el eje X, el eje Y y el eje Z. Nótese que los rotores delanteros del drone se muestran en color verde, mientras que los rotores traseros son rojos.

La variable velX∈[-1,+1] es un número real que proporciona al drone cierta velocidad de avance (si velX>0) o retroceso (si velX<0), según la dirección marcada por el eje X. Si su valor es nulo (velX=0) el drone no se moverá en dicha dirección.

La variable velY∈[-1,+1] permite al drone desplazarse lateralmente a la izquierda (si velY>0) o a la derecha (si velY<0), según su eje Y.

La variable velZ∈[-1,+1] permite al drone ascender (si velZ>0) o descender (si velZ<0), según su eje Z.

Por último, la variable rotZ∈[-1,+1] permite al drone girar a la izquierda (si rotZ>0) o a la derecha (si rotZ<0).

La manipulación de estas variables se hace mediante una máquina de estados programada en StateFlow. Su aprendizaje es muy sencillo e intuitivo. Por ejemplo, el estado representado a la derecha provoca que el drone active sus motores y se eleve hasta alcanzar un metro de altura.

Normas de conducta

Durante el torneo se espera de los participantes un comportamiento adecuado al espíritu de la competición.
Las reglas de la competición se aplicarán a discreción de los árbitros oficiales y los organizadores. No se permitirá el uso de interpretaciones ventajosas de reglas que admitan ambigüedad.
Cualquier falta grave puede conllevar la descalificación del equipo de la competición; en particular
• Hacer mal uso de las instalaciones que la ESII ponga a disposición de los participantes
• Entorpecer el ritmo normal de la competición o perjudicar a otros equipos.
• El uso de palabras y/o comportamientos inapropiados.
• Cualquier otra situación que los jueces puedan considerar como intromisión o violación del espíritu de la competición.