Monthly Archives

mayo 2014

quadrotor

Python y drones

By | DIY, Programación | 3 Comments

Sigo con Python. Esta vez un tema muy interesante vinculando Python y drones.

Un curso de Edx.org titulado “Autonomous Navigation for Flying Robots” basado en Python.
Se trata de crear código para que los drones hagan vuelos autónomos.

Y lo estoy complementando con el curso en Coursera.orgAn Introduction to Interactive Programming in Python” que está a punto de finalizar creando el juego Asteroids, un clásico.

En Autonomous Navigation hemos pasado ya por una buena tanda de álgebra lineal: vectores, matrices, rotaciones, etc..pero aún queda bastante.

Y la verdad que por un lado tiene una parte de reto, por refrescar el álgebra de hace unos cuantos años, pero por otro lado las mates siempre me han encantado y disfruto rememorando algunos conceptos.
Cuando pienso por qué siempre me han gustado, aparte que era la asignatura que se me daba mejor, creo que es porque eran exactas. Que si llegabas a una solución eras capaz de saber por ti mismo que esa solución era correcta. Toda una construcción teórica en base a unos pocos axiomas, perfectamente estructurada. Me gustaba que nos enseñaban cómo demostrar los teoremas, no a aprenderlos de memoria. La ventaja es que los entendías bien y es más fácil de recordar y redemostrar. Bueno, basta de hablar de mí.

El drone que usan como base es el Parrot AR Drone, que cuenta con bastantes sensores y con una API.

En el curso usan simuladores pero podrías perfectamente usar uno, caso de tenerlo…

¿Qué hemos hecho hasta ahora? pues sólo son 2 semanas y ya hemos tratado la álgebra en 2D y como ejercicio hemos programado el drone usando la librería numpy que permite tratar matrices, para calcular la posición global en la que el dron está en todo momento, basándose en odometría (velocidad en ejes x e y, ángulo de rotación del drone).
quadrotor

El simulador y el código en Python. He borrado parte de la solución, lógicamente

Ahora ya entramos en 3D… 😀

Hay dos vídeos fantásticos de TED demostrando las capacidades de los drones en vuelos autónomos.
Vijay Kumar – Robots that fly … and cooperate

Raffaello D’Andrea – The astounding athletic power of quadcopters