viernes, 31 de diciembre de 2010

Fase de Investigación previa II

Dentro de las distitnas alternativas de plataforma hardware para soportar el desarrollo del UAV, he optado por la de NetDuino. Es  una plataforma muy similar a la Arduino pero basada en la plataforma .NET MicroFramework.

La gran diferencia entre ambas, a parte del lenguaje de programacion (c# vs c), es una mayor capacidad de procesamiento por parte de la plataforma NetDuino. Pero a pesar de dicha mayor capacidad la plataforma no esta recomendada para escenarios donde el "real-time" sea decisivo, que quiero decir con esto, es que en la plataforma NetDuino se estima un procesamiento de entrada en mas o menos 10ms y para funcionalidades de "real-time" puras necesitariamos estar entorno a 10ps (estas serian necesarias por ejemplo para mecanismos de estabilizacion automatica en helicopteros/cuadcopteros)

jueves, 30 de diciembre de 2010

Fase investigación previa

Como una fase previa a comenzar el proyecto estoy realizando una investigación sobre las distintas posibilidades. Como primer paso es elegir si avión o helicóptero, a la hora de montar el UAV. La finalidad del proyecto es construir un sistema UAV por lo que descarto el helicóptero ya que son mucho más inestables y conllevaría el montaje de un sistema de estabilización añadido. Dentro de los múltiples modelos de aviones a elegir optare por un modelo de ala alta con 3 canales (profundidad, motor y dirección). El modelo será el Easy-Star de Multiplex ya que tengo actualmente un par de ellos para realizar fotografía aérea y son muy estables y sencillos de adaptar para este tipo de proyectos.

Glosario de terminos

  • 2.4 Ghz: The frequency used by digital (spread spectrum) radio communications in our applications, including 2.4Ghz RC, bluetooth and some video transmission equipment. This is a different band than the older 72 Mhz band that is used for analog RC communications. To avoid radio frequency conflict is it often a good idea to use 72 Mhz radio equipment when you are using 2.4 Ghz onboard video transmitters, or use 900 Mhz video when using 2.4 Ghz RC equipment.
  • AHRS: Attitude and Heading Reference System. See explanation here.
  • AMA: Academy of Model Aeronautics. The main US model aircraft association. Generally hostile to amateur UAVs, which are banned on AMA fields. But each AMA chapter and field may have slightly different policies, and it's possible to test airframes and some technology on AMA fields without violating the association's rules.
  • APM: ArduPilotMega
  • Arduino: An open source embedded processor project. Includes a hardware standard currently based on the Atmel Atmega168 microprocessor and necessary supporting hardware, and a software programming environment based on the C-like Processing language. Official site is here.
  • BASIC Stamp: A simple embedded processor and programming environment created and sold by Parallax. Often used to teach basic embedded computing and the basis of our autopilot tutorial project. Parallax also makes the very capable Propeller chip, which is the basis of the AttoPilot autopilot and others.
  • Bootloader: Special code stored in non-volatile memory in a microprocessor that can interface with a PC to download a user's program.
  • COA: Certificate of Authorization. A FAA approval for a UAV flight. See this for more.
  • Eagle file: The schematic and PCB design files (and related files that tell PCB fabs how to create the boards) generated by the free Cadsoft Eagle program. This is the most common standard used in the open source hardware world, although, ironically, it's not open source software itself. Needless to say, this is not optimal, and the Eagle software is clumsy and hard to learn. One hopes that an open source alternative will someday emerge.
  • DCM: Direction Cosine Matrix. A algorithm that is a less processing intensive equivalent of the Kalman Filter. See this for more.
  • ESC: Electronic Speed Control. Device to control the motor in an electric aircraft. Serves as the connection between the main battery and the RC receiver. Usually includes a BEC, or Battery Elimination Circuit, which provides power for the RC system and other onboard electronics, such as an autopilot.
  • FPV: First-person view. A technique that uses an onboard video camera and wireless connection to the ground allow a pilot on the ground with video goggles to fly with a cockpit view.
  • FTDI: A standard to convert USB to serial communications. Available as a chip for boards that have a USB connector, or in a cable to connected to breakout pins. FTDI stands for Future Technology Devices International, which is the name of the company that makes the chips.
  • GCS: Ground Control Station. Software running on a computer on the ground that receives telemetry information from an airborne UAV and displays its progress and status, often including video and other sensor data. Can also be used to transmit in-flight commands to the UAV.
  • Hardware-in-the-loop simulation: Doing a simulation where software running on another computer generates data that simulates the data that would be coming from an autopilot's sensors. The autopilot is running and doesn't "know" that the data is simulated, so it responds just as it would to real sensor data. Hardware-in-the-loop uses the physical autopilot hardware connected to a simulator, as opposed to simulating the autopilot in software, too.
  • IC2: A serial bus that allows multiple low speed peripherals, such as sensors, to be connected to a microprocessor. See this for more.
  • IDE: An integrated development environment, such as the Arduino editor/downloader/serial monitor software. Often includes a debugger.
  • IMU: An inertial measurement unit. Usually has at least three accelerometers (measuring the gravity vector in the x,y and z dimensions) and two gyros (measuring rotation around the tilt and pitch axis). Neither are sufficient by themselves, since accelerometers are thrown off by movement (ie, they are "noisy" over short periods of time), while gyros drift over time. The data from both types of sensors must be combined in software to determine true aircraft attitude and movement. One technique for doing this is the Kalman filter (see below).
  • Inner loop/Outer loop: Usually used to refer to the stabilization and navigation functions of an autopilot. The stabilization function must run in real-time and as often as 100 times a second ("inner loop"), while the navigation function can run as infrequently as once per second and can tolerate delays and interruptions ("outer loop").
  • INS: Inertial Navigation System. A way to calculate position based on an initial GPS reading followed by readings from motion and speed sensors. Useful when GPS is not available or has temporarily lost its signal.
  • ICSP: In Circuit Serial Progammer. A way to load code to a microprocessor. Usually seen as a six-pin (two rows of three) connector on a PCB. To use this, you need a programmer, such as this one, that uses the SPI (Serial Peripheral Interface) standard.
  • Kalman Filter: A relatively complicated algorithm that, in our applications, is primarily used to combine accelerometer and gyro data to provide an accurate description of aircraft attitude and movement in real time. See this for more.
  • LOS: Line of Sight. Refers to a FAA requirement that UAVs stay within a pilot's direct visual control if they are flying under the recreational exemption to COA approval.
  • LiPo: Lithium Polymer battery, aka LiPoly. Varients include Lithium Ion (Li-Ion) battery. This battery chemistry offers more power and lighter weight than NiMh and NiCad batteries.
  • NMEA: National Marine Electronics Association standard for GPS information. When we refer to "NMEA sentences", we're talking about ASCII strings from a GPS module that look like this: $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
  • OSD: On-screen display. A way to integrate data (often telemetry information) into the real-time video stream the aircraft is sending to the ground.
  • PCB: Printed circuit board. In our use, a specialized board designed and "fabbed" for a dedicated purpose, as opposed to a breadboard or prototype board, which can be used and resused for many projects.
  • PIC: Pilot in Command. Refers to a FAA requirement that UAVs stay under a pilot's direct control if they are flying under the recreational exemption to COA approval. See Line of Sight above.
  • PID: Proportional/Integral/Derviative control method. A machine control algorithm that allows for more accurate sensor-motion control loops and less overcontrol. See this for more.
  • SiRF III: The standard used by most modern GPS modules. Includes SiRF III binary mode, which is an alternative to the ASCII-based NMEA standard described above.
  • Sketch: The program files, drivers and other code generated by the Arduinio IDE for a single project.
  • Thermopile: An infrared detector. Often used in pairs in UAVs to measure tilt and pitch by looking at differences in the infared signature of the horizon fore and aft and on both sides. This is based on the fact that there is always an infrared gradient between earth and sky, and that you can keep a plane flying level by ensuring that the readings are the same from both sensors in each pair, each looking in opposite directions.
  • UAV: Unmanned Aerial Vehicle. In the military, these are increasingly called Unmanned Aerial Systems (UAS), to reflect that the aircraft is just part of a complex system in the air and on the ground. Ground-based autonomous robots are called Unmanned Ground Vehicles (UGVs) and robot submersibles are called Autonomous Underwater Vehicles (AUVs). Robot boats are called Unmanned Surface Vehicles (USVs).
  • WAAS: Wide Area Augmentation System. A system of satellites and ground stations that provide GPS signal corrections, giving up to five times better position accuracy than uncorrected GPS. See this for more.
  • ZigBee (related: Xbee): A wireless communications standard, which has longer range than bluetooth but lower power consumption than WiFi.

Principios basicos marcados para este proyecto

Como principio basicos para este proyecto me he marcado los siguientes principios:
  • Buscar una plataforma hardware adapatable y modular que me permita realizar un desarrollo progesivo de la solucion de UAV.
  • Esta plataforma debera estar soportada sobre un software preferiblemente .NET, debido a mi experiencia previa en dicha plataforma.
  • Dentro de los distintos modelos posibles sobre los que implementar un sistema de UAV me decantaré por un avión ya que es mucho mas simple que cualquier helicoptero, al eliminar problemas de estabilización.
  • La plataforma que emplearé sera electrica por simplicidad de construccion.
  • Intentare que el coste del proyecto sea lo mas reducido posible....

Creación del blog!

Buenas a todos!

Este blog se crea con la intencion de detallar el proceso de creacion de un UAV teledirigido basado en la plataforma MicroNET Framework.

En las siguientes entregas os ire contando como evoluciona las cosas.....