IDIOMAS

viernes, 3 de enero de 2014

Fase I: Despegando…
Phase I: Taking off

Por fin llega a casa el paquete con el heli. Así que, como niños con zapatos nuevos,  salimos a la calle a probarlo. En casa es imposible volar algo tan grande! ;)

Con las primeras pruebas de vuelo ya somos un poco más conscientes de que no es muy estable y del largo camino que nos queda por recorrer. Así que, sin perder tiempo, nos ponemos a diseccionarlo para identificar cada componente y empezar a experimentar con él.

Identificamos en el helicóptero los elementos a reutilizar y los puntos de conexión. Decidimos reutilizar:
·         la etapa de potencia, para controlar desde el Arduino los 2 motores y los 2 servos
·         y las lecturas del giroscopio, que también enviaremos al PC a través del Arduino embarcado.

En paralelo avanzamos con la programación del software del Arduino y del PC.
Tras un breve periodo de tiempo de 8-9 meses, disponemos de una versión estable del conjunto.
Comenzamos la cuenta atrás para el primer despegue. 
Montamos todo e intentamos elevar el heli manteniéndolo estable en el aire.

Vemos con emoción cómo responde a las órdenes del PC  y se eleva del suelo. Sin embargo, la estabilidad en el aire es una quimera y, con cada intento, estrellamos contra el suelo parte de nuestras ilusiones.

Agotamos el Superglue y las palas de repuesto y llegamos a una conclusión clara: Esto no es tan fácil. ;) 

No vamos a ser capaces de estabilizar este helicóptero.

Después de indagar un poco nos percatamos de que hay plataformas más fáciles de estabilizar…quizás un cuadricóptero…
 

Finally the parcel with the heli arrives home. Happy like kids in a candy store, we went out to try it. At home it is impossible to fly something that big ! ;)
First flight tests are enough to notice that the heli is not very  stable and to realise that there is still a long way ahead. So, without wasting time, we start to identify each of its components to go on with the tests.
After identifying helicopter useful parts and its connection points, we decided to reuse:
·         The power control circuit, to control heli motors and servos from the Arduino
·         and the gyroscope, so that the Arduino board will send its measurements to the PC.
At the same time, we go forward with the Arduino and PC software programming.
After a brief period of 8-9 months, a stable release is ready for launching. Countdown for first takeoff starts …. 3, 2, 1…
The heli responds perfectly to PC commands and takes off with out problems. However, flight stability is clearly a chimera and in each attempt, together with the heli, part of our illusions crashed to the ground.
By the time we run out of  Superglue and spare blades something is quite clear: This is not an easy job. ;)
We will not be able to stabilize this helicopter.
After some digging in internet, we find that there are platforms easier to stabilize ... maybe a quadcopter...

Fase I: Definiendo la solución
Phase I: Defining the solution

La comunicación entre PC y Arduino es una línea serie. Como protocolo para dicha comunicación, que realizaremos vía Bluetooth, elegimos SSP (Simple Serial Protocol, ver www.utias-sfl.net/docs/ssp2.1e.pdf).

La programación en PC la realizaremos en entorno LINUX, plataforma de desarrollo de software libre.

En nuestro diseño, para esta primera fase, el Arduino embarcado recibe los comandos de actuación sobre motores y servos y reporta el estado de los sensores (giroscopio y acelerómetro). El Arduino no toma ninguna decisión, excepto si detecta que se han perdido las comunicaciones, en cuyo caso para los  motores y lleva los servos a un estado de seguridad.

En esta fase es en el PC donde se toman las decisiones de vuelo, regulando la potencia de los motores y la posición de los servos.
Communication between PC and Arduino is a serial line and we will do it via Bluetooth. In this case, as communication protocol, we choose SSP (Simple Serial Protocol, see www.utias-sfl.net/docs/ssp2.1e.pdf).

The PC programming will be done in LINUX, as open source software development platform.
In this first step of our design the Arduino will receive commands for acting on motors and servos and will report telemetry ( gyroscope and accelerometer measurements). The Arduino will take no decision except if it detects that communications are lost. In that case it will stop the motors and it will set the servos to a security position.
At this stage, the PC is the ones that takes all flight decisions, regulating motors and servos positions.

Vamos de compras
Let's go shopping!

Tras un exhaustivo análisis del mercado, definimos la lista de la compra de los componentes necesarios para empezar a trabajar en el proyecto:
·         una tarjeta Arduino UNO, para realizar los primeros desarrollos y pruebas
·         una tarjeta Arduino PRO MINI, compatible con la anterior pero de menor tamaño y peso, para su montaje embarcado en el UAV
·         una tarjeta Bluetooth Mate Silver, para comunicar con el Arduino vía Bluetooth
·         una tarjeta acelerómetro de 3 ejes ADXL335
·         y un helicóptero modelo CopterX CA180 de 4 canales y bajo coste, con una mecánica accesible, repuestos disponibles en el mercado  y un  tamaño adecuado para poder realizar pruebas, modificaciones y trasteos a voluntad con los que aprender los entresijos del arte de volar.

Lanzamos todos los pedidos y, mientras las compras van llegando, adelantamos trabajo con la programación en PC de las rutinas de control de motores y de la interfaz de control de vuelo y monitorización de variables.


After a deep market analysis, the shopping list with the required components to start working is ready:
·         an Arduino UNO board, for first developments and testing
·         an Arduino PRO MINI board, compatible with the previous one but smaller and lighter, for mounting on the UAV
·         Bluetooth Mate Silver board to communicate with the Arduino via Bluetooth
·         Triple Axis Acceloremeter Breakout - MMA7631
·         And a low cost 4-channel  RTF (ready-to-fly) helicopter CopterX CA180, with accesible casing, spare parts available in the market and a suitable size for making it all the required modifications to start with our practical flight lessons and tests.

While waiting orders to arrive, we go forward with the PC programming of motor control  routines and with the  flight control and data monitoring user application.

Toda historia tiene su comienzo
Every story has a beginning

Como todas las grandes aventuras, esta historia comenzó con una idea. Una ilusión que, tras años de rondar por la cabeza de alguno, empezó a tomar forma de proyecto y acabó por dar ese pequeño salto necesario para convertirse en realidad.

El reto: Construir un vehículo volador no tripulado (UAV en ingles) y dotarle de la capacidad de volar de forma autónoma y estable.

Las fases del proyecto: De cara a abordar el reto, decidimos pararnos a definir los pasos que nos llevarán al éxito:
·         Fase I …o cómo aprender a volar: Controlar los motores y servos y leer los sensores, implementando los algoritmos de vuelo y estabilización en el aire y monitorizando los datos en el PC.
·         Fase II …o quiero poder volar solo: El cerebro de vuelo pasa del PC al UAV. El UAV se convierte en autónomo y el PC se emplea para mandar órdenes de vuelo y obtener telemetría.
·         Fase III …o dime donde quieres ir que yo te llevo: El UAV se convierte en elemento totalmente autónomo capaz de llegar al destino marcado con solo recibir las directivas de vuelo desde un PC o incluso desde un dispositivo móvil.

Y aquí os dejamos el documento original, guardado en nuestro archivo histórico, con el que empezó esta aventura:

Like all great adventures, this story started from a simple idea. An illusion that, after years of hanging around one’s mind, began to take shape of project and finally gave that small leap necessary to become reality.
The challenge : Build from scratch an unmanned flying vehicle ( UAV) able to fly autonomously.
Phases of the project: Before digging into solving problems, we decide to start setting down on paper the steps to success:
·         Phase I - Learning how to fly: Controlling UAV motors and servos, reading sensors, implementing flight and stabilization algorithms and monitoring data in the PC.
·         Phase II - I want to fly alone: Flight brain passes from the PC to the UAV. The UAV becomes autonomous and the PC is used just to send flight orders and for telemetry monitoring.
·         Phase III - Tell me where you want to go and I’ll take you: The UAV becomes fully autonomous, capable of reaching the desired destination following flight directives sent from a PC or even from a mobile device.

Here you have the original document, kept in our archives. So began this adventure: