AutoQuad ver 5

3689387530?profile=originalI know, the world probably has enough flying machine projects, but here is yet another one.  AutoQuad's original design goal was high precision autonomous flight.  It took five prototypes before I was happy with the hardware.  The current prototype, AQv5, is showing very promising results.  In fact, there is little left to do before this first goal can be checked off  the list.  Using this as a solid base, I intend to continue research, design and experimentation toward vision based navigation for indoor and outdoor use.

 

Hardware:

 

- 2" x 2" board with same mounting pattern as the MK FC

- Input voltage ~7.5v => 18v

- High efficiency DC/DC converters

- STM32F103 32bit Cortex M3 microcontroller @72 MHZ

- standard ARM 20 pin JTAG header for real-time debugging

- up to 8 PWM ESC motor control (prefer Turnigy ESC's with custom firmware)

- 2 powered payload servo controllers

- optional ultra sonic range finder

- Spektrum satellite (remote receiver) 2.4Ghz RC radio

 

3689387605?profile=original

- uSD card slot

- optional onboard uBlox LEA-XX module w/battery backup & timepulse capture

- optional female SMA connector for active GPS antenna

- optional external GPS via standard 6 pin connector (EM406, EM401, uBlox, MTK)

- optional onboard xBee module - up to 300mA (2.4Ghz, 900Mhz, bluetooth, etc.)

- optional external radio via standard 6 pin FTDI connector - up to 1A

- I2C bus connector for I2C ESC's

3689387476?profile=original3689387631?profile=original

- modular sensor board (SBv5) - 100% analog sensors, EMI hardening:

+ 3 axis acc (ADXL335)

+ 3 axis mag (HMC6042 & HMC1041Z)

+ 3 axis gyro (IDG500 & ISZ500)

+ 2 temperature sensors

+ pressure sensor (MPXH6101A)

+ battery voltage

 

3689387558?profile=original3689387492?profile=original

Software:

 

- Fully threaded RTOS design written in C -  60% idle

- All sensors read at 113KHz (~1.4M sps total)

- 450Hz motor update rate

- 200Hz attitude, 3D velocity / position solutions

- Full downlink telemetry

- Detailed system state dumps @200Hz => uSD card w/FAT32 FS

- Quaternion based attitude filter additionally producing rotation matrix and Euler angle outputs

- All math in single precision floating point

- Temperature compensated and calibrated sensor suite

- Custom ground station software w/bi-directional command and control API

- Cascading PID control system, velocity based for smooth transitions

- Auto land / takeoff

- Hover position / altitude hold

- Autonomous waypoint mission navigation

- Precise altitude hold indoors

 

Example of current capabilities:

 

Design philosophy:

 

- High performance

- Efficiency

- Ease of development

- Consistency / Repeatability

- Low cost

 


There is always room for improvement.  For instance, I would like to see how much of a benefit using a SPKF (Sigma Point Kalman Filter) would be over my fixed gain navigation filter.  Looking forward to the new Cortex M4 uC's with a hardware FPU so that any such math intensive solution can be more easily handled.  As I mentioned above, there is a lot of room for work with vision navigation and SLAM.  Also interested in propulsion efficiencies which with an eye toward higher endurance.  Although the PID based control system works extremely well, I'm interested in exploring different types of MPC (model predictive control) to reduce control costs and increase precision.

 

I'm wondering if there is anyone interested in joining forces to work on some of the above mentioned or anything else along these lines that presents itself.  This is only a hobby for me and I currently have no profit motive.  This is definitely not a beginner's project as you can see by my sloppy SMD hand soldering job.

 

Comments?

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Nice project, congratulations..

    GPS/INS integration seems to be good. I think that with an UKF, its estimation performance may be better.

    In addition, with computer vision based hold (optical flow or camera motion estimation) its hold accuracy may be better in x-y axes.

    Is there any chance that you share the controller and filter coefficients? I couldn't find it in your code.
  • Hi Bill, Congratulations on such great results with the STM32 based controller! Really the way to go. I'm interested in building the AQv5 but was wondering how far away v6 is. Have you managed to source an analog 3D magnetometer?
  • vis.asta: Yes, the latest version (2.0.10).  Please PM me for further help.
  • Try 'A Crossworks Tasking Library executable for STM..'
  • Under what version crossworks you build the project? I'm trying to build with version 2.0 - a lot of errors. Can you show your .hzp file?
  • I regularly look at SVN. waiting for news :). when will you update to r5?
  • Hi Bill !

    Any news ?

  • Gord: Yes, I just found out a few weeks ago that they have been EOL'ed and there is no direct replacement.  I don't understand Honeywell's decision as this was the best mag sensor combo they have.  If anyone knows of a 3D analog magnetometer with set/reset capability, please let me know and I will investigate.  

    An equivalent circuit can be built with other HMC sensors, but the part count / board space requirements will be higher.
  • Hi Bill, in advance thank you for contributing your research.   Did a double take watching your demo video, rock solid stability!  I'd like to try your code using senors on breakout boards and a ET-STM32 Stamp.  I'm sure there are others doing the same.  Only problem so far is sourcing the HMC1041z, the HMC6042 is available but discontinued.  Do you have plans to change any major components in upcoming versions?
  • Maximus: Take a look at the "nav.h" header file in the source code. All of the current waypoint parameters are listed there. I've been working with the QGroundControl team on revisions to the mavlink protocol. In the future there will be much more detailed command and control available either via mission script or direct control from the ground station.
This reply was deleted.