Eva: A new open source autopilot!

3689508519?profile=original               

                Arduino is awesome, and the autopilots based on them are great. Not only do they support an incredible number of external devices, but also don’t scare away the novice developers. Easy programming and versatility are nice but the cost at which they come at is somewhat of a letdown. 8-bit Arduino processors don’t allow a lot of room for other computation. Having already crashed a very expensive hexacopter (http://diydrones.com/profiles/blogs/the-story-about-hex-and-people-behind-it), and being told off for doing something quite risky (http://diydrones.com/profiles/blogs/hex-get-me-my-coffee), we have realized the importance of safety in autopilots.

                Algorithms related to safety often require implementation of vision algorithms and quick analysis of sensor data logs, and unfortunately Arduinos aren’t suitable for such computation. Better processors can allow such implementations and even though autopilots with better computation capability on their own are not enough to ensure safety, but they can provide a good basis to develop things, like obstacle avoidance, that can lower the risks of unwanted crashes.

                Aside from the programming capabilities, there is one other flaw that a lot of current open source autopilots have, and that is, setting the PID values. It often takes a novice user weeks to get a copter to fly stably in presence of external disturbances whereas the same user can use a commercial autopilot and achieve stable flights in a matter of hours (or even less). Configuring open source autopilots often takes a while as well.

               With the aim of creating an autopilot that achieves stability without a lot of tuning, and having a 32-bit processor and still supporting many external devices, ZeroUAV and HeX, together intend to initiate an open source autopilot that is based on the commercial YS-X4. We are not interested to reinvent the wheel, but instead are interested to solve the aforementioned flaws.

                 

Licenses:

Software License: GPL v3

Hardware License: Creative Commons BY-SA

 

Hardware:

  • Eva uses a 32 bit ARM processor.
  • Onboard sensors include 3-axis gyroscope, 3-axis accelerator, barometer, and thermometer.
  • Eva uses a very precise Analog-to-Digital Converter.
  • Eva supports GPS and 3 axis digital gyroscope.
  • Eva supports standalone power sources, and doesn’t need a UBEC connection.

 

Detailed Hardware Specifications:

Processor

Processor:         AT91RM9200

                         ARM920T Kernel

                         Operating Frequency of 180 MHz, 200 MIPS

                         Cache: 32 KB  (16 KB Data Cache, 16 KB Instruction Cache, Write Buffer)

                         Memory (SRAM): 16 KB

                         External RAM (SDRAM): 64 Mb

                         External DataFlash 512KB

 

IMU

Gyroscope:       Uses two chips: LPR430AL (For X and Y axis), LY330ALH (For Z axis).

                         3-axis.

                         Measurement Range: ±300 dps.

                         Bandwidth: 140 Hz.

                         Stable output, and provides temperature stability.

                         High shock and vibration survivability.

               

Accelerometer: ADXL335

                         3-axis.

                         Measurement Range: ±3 g.

                         High Frequency Response; 1600 Hz.

                         Low Power Consumption (350 uA).

                         10,000 g shock survival.

                         Stable output and excellent temperature stability.

 

Barometer:       MPXA6115A

                         Sensitivity: 45.0 mV/kPa.

                         Pressure Range: 15kPa – 115kP.

                         Stable output, and provides temperature stability (1.5% Maximum Error over 0o to 85oC).

                         Temperature Compensated from -40oC to +125oC.

                         High Accuracy at High Temperature.

                         Automatic Temperature Compensation.       

 

Thermometer:   LM335

                         Stable output, measurement error ±2%.

 

 

IMU Analog to Digital Converter:

                         ADS1256

                         24 bit (Precise up to 10 cm for barometer’s sampling).

                         Data Output Rates to 30kSPS.

               

GPS Module

                         GPS NEO-6

                         Sensitivity: -162 dBm

                         Maximum Navigation Update Rate: 5 Hz

                         Horizontal Positional Accuracy: 2.5m

                         Velocity Accuracy: 0.1 m/s

                         Heading Accuracy: 0.5o

 

Digital Compass: Honeywell HMC5883L

                          3 axis. 

                          12-bit ADC enables 1o to 2o compass heading accuracy.

                          Maximum Output Rate: 160 Hz

                          Low power consumption.

               

                               

Detailed Software Specifications:

  • Extremely stable flight
  • State calculation
  • Gimbal support
  • Automatic take off
  • Way point flights
  • Automatic interest point lock
  • Automatic lock
  • Ground Control
  • Overload Control
  • Automatic Navigation, GPS Navigation
  • One key return (Using GPS)
  • Care free flights
  • Supports tricopters, quadcopters, hexacopters and octacopters.
  • Supports GPS mode and R/C mode. Supports real time switches between modes, using an remote control.

 

All the schematics and PCB diagrams can be downloaded under a CC BY-SY license.

 

PCB Diagram:

 3689508459?profile=original

Schematics:3689508419?profile=original

 

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hi Tim,
    Looks like the EVA is a component of the HEX Air Robot that Angeleyes has been working on. Here are some links to that, but like you said, don't find any info on EVA itself.
    http://www.3ders.org/articles/20121229-build-a-hex-air-robot-on-a-3...
    http://grishinrobotics.com/2143
    http://hexairbot.com/

    I really like the fetch my coffee, but was it really that safe? All looked like manual flight to me. Not autonomous...
    Build a HEX air robot on a 3D printer
    Startup AngelEyes from China is working on a HEX Air Robot project: an open source robotic aircraft with 3D printed components.
  • hi George,
    I ditto what Robert & Keith said....
  • Please tell us more, is there a website for this? Is the code available?

  • i agree - great news.

    when will the hardware for the autopilot be available?

  • I have to agree that new hardware based on the 32b ARM processors is GOOD.  Part of the "Tuning" that is mentioned is done manually in the Arduino processors.  Having "extra" bandwidth in the processor will lead to autopilots that can self tune by doing Fast Fourier Analysis and finding the resonant frequencies of the particular airframe and be able to compensate to it.  With that event the the autopilots will become self learning and the longer they fly the more stable they get.  The more stable and predictable they are, the safer they are too.

    One of the largest things that I have seen is the explosion of hardware autopilots lately with probably a dozen good pieces of hardware becoming available.  I'm very concerned that the variety of the hardware will split the software development into factions supporting the various hardware.  I know that the DIYDrones programming community has done some very good work in making the code modular, but at some point the software needs to get to a point where the basic functions are completely modular.  There would be a software module for stabilization that depends on the physical airframe (plane, multirotor, helicopter, etc.), a software module for navigation that plugs into the stabilization module, software modules for Gyro, Accelerometer, Magnetometer and other hardware based drivers that also plugs into the stabilization module.  At some point the various makers of the Autopilot hardware should be able to provide a board with the appropriate hardware drivers for the chips and let the users load whatever Stabilization Modules, Navigational Modules, Communication/Telemetry Modules on top of it.

    I know that this is the direction that many in the community are trying to achieve, but there is a long way to go.  Currently the maker of the hardware takes the current APM software and rearranges the hardware drivers manually to a specific configuration to get it to work.  At some point the Autopilots should have the ability to have multiple files and can just update the Navigational module and not have to recompile a complete Autopilot software solution.

    OK, that was longer than I expected.  Sorry guys, I guess I just had to vent a little ;)

  • i agree - great news.

    when will the hardware for the autopilot be available?

  • Developer

    This is great. A quick question, I fly both the YS-X6 and the YS-X4 and the stability and performance is great. How much of this system will be open sourced? None of it, parts or maybe even all of it?

This reply was deleted.