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-...), 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:

 

Schematics:

 

Views: 8437

Tags: 32-bit, autopilot, eva, hex, open, open-source, ys-x4, zerouav


Developer
Comment by John Arne Birkeland on March 9, 2013 at 3:50am

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?

Comment by robert bouwens on March 9, 2013 at 5:57am

i agree - great news.

when will the hardware for the autopilot be available?

Comment by Jed on March 9, 2013 at 11:24am

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 ;)

Comment by Keith Harris on March 9, 2013 at 9:07pm

i agree - great news.

when will the hardware for the autopilot be available?

Comment by David Luper on March 9, 2013 at 10:55pm

Please tell us more, is there a website for this? Is the code available?

Comment by W. Joe Taylor on March 9, 2013 at 11:41pm
hi George,
I ditto what Robert & Keith said....
Comment by Tim Green on March 10, 2013 at 7:57am
Where's jp1? Hah!
Googling turns up nada for Eva autopilot. So, does it exist?
Comment by W. Joe Taylor on March 10, 2013 at 2:41pm
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...
Comment by Drew Scott on March 10, 2013 at 9:55pm

Is the thermometer to tell if your coffee is getting cold ? Why would you need one ?

Comment by Joe on March 11, 2013 at 1:37am

2 weeks to go before April 1

A PCB that is too small to see, schematic that is too small to see, long list of specs with no links to anything plus Google turns up zit on EVA Autopilot..

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service