Hi all,
A couple of weeks ago I got bit by the bug to build a quadcopter from scratch. I am purchasing the motors, ESC, battery, propellors, ect..., but I am designing and building the frame from raw materials. I am programming the control system from a blank slate. One of the things that will make this quad different than many others is that I will be attempting to track it's position in relation to it's start point purely from the accelerometer and gyro. If that feature is successful, I plan to add the ability for it to fly autonomously by following pre-programmed way-points. If the inertial position tracking doesn't work out, I'll just reprogram is to use standard Quadcopter controls and have fun with it.
Here's a link to my Blog where I am writing about the process:
http://philstech.blogspot.com/2012/03/quadcopter-project-overview.html
Let me know what you think.
~Phillip
Tags: Accelerometer, IPT, Inertial, Position, Quadcopter, Tracking, gyro
Permalink Reply by Allen Babb on March 20, 2012 at 9:36pm Huh? If you use the PCINT, then you can get an interrupt on most of the GPIO pins. Don't tell me you've already used up all of your GPIO. :P
At any rate, 800Hz is more than enough. You should put the core to low-power mode whenever it's idle, just have another ISR wake it up after some time or at a specific time.
Oh... but the problem with using this trick is that the Arduino millis() function is tied to Timer0... which is not a wakeup source for any of the power saving modes (according to Atmel's documentation). You may be able to try with Timer2, however...
Permalink Reply by Phillip Schmidt on March 20, 2012 at 10:21pm oh... PCINT, I was looking at attachInterupt()... I'll play with that.
I'm not sure I understand the advantage of putting the core to low-power mode while idling. The Arduino can't be using a significant amount of power compared to power system, so the battery saving over the ~5ms per cycle should be of no consequence.
Permalink Reply by Allen Babb on March 21, 2012 at 6:15am Well, when it doubt, try it out! It's not a critical part of the software anyway, but it could give you extra flight time. :)
Permalink Reply by Phillip Schmidt on March 27, 2012 at 11:47am Latest update just went up.
Quadrotor Post #6: http://philstech.blogspot.com/2012/0...and-motor.html
Permalink Reply by Phillip Schmidt on March 29, 2012 at 11:59am Latest post talks about my progress with the Inertial Position tracking:
http://philstech.blogspot.com/2012/0...acking_29.html
Permalink Reply by Phillip Schmidt on April 1, 2012 at 4:59pm The latest post details assembling the frame:
http://philstech.blogspot.com/2012/04/quadcopter-frame-assembly.html
~Phillip
Hi Phillip,
Good luck with your project, I always like to see other scratch-builders! I am sure if you stick with it you can get to something that flies nicely.
Regarding inertial navigation/dead reckoning:
I think your goals are ambitious, but will be very difficult to reach. I have tried something similar on a 32bit MCU and haven't gotten terribly promising results. One of the big problems is the accuracy of the attitude estimate. Even if the pitch or roll angle is off by only 0.1 degrees (which would be a spectacularly good result for hobbyist-class IMUs) you would accumulate a location error of 1/2 mile in 5mi - with everything else working perfectly...
I think you will find that you really need other sensors to aid in the localization problem.
Marko
Permalink Reply by Phillip Schmidt on April 1, 2012 at 9:46pm I'm fully aware that 5min is excessively optimistic, but I wanted a goal to shoot for. This is really a learning project for me, so even if IPT completely fails, it will be worth it.
If I can get it to work to a high degree of accuracy for a handful of seconds, then it could be a good way to augment a GPS system.
My next blog post will be covering what I have learned when it comes to filtering accelerometer data.
Permalink Reply by Allen Babb on April 1, 2012 at 7:22pm What's the power rating, Kv, and operating voltage for your motors?
Permalink Reply by Phillip Schmidt on April 1, 2012 at 9:48pm The motors shown in that blog post are 1400Kv, which I know is rather high. I also have a set of 1000Kv motors coming in case these fail.
Permalink Reply by Phillip Schmidt on April 2, 2012 at 12:07am They are rated 2s-3s and I'm running them as 3s.
Permalink Reply by Allen Babb on April 2, 2012 at 9:30pm I think the power rating/wattage of the motor helps determine the flight time. Altough I (still) haven't gotten to testing this theory out. :(
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.86 members
51 members
671 members
1280 members
8 members
© 2013 Created by Chris Anderson.
Powered by
