My big(15 lb) quadcopter project

dirty_d

10 kW
Joined
Jun 16, 2007
Messages
985
Location
Massachusetts
I haven't been on this forum In a couple years but I thought I'd share a project I've been working on for a couple months. Its pretty much finished it last night and did a quick 1 or 2 second hover test in the living room :shock:

here are the specs:
4x 5055 size 1600W 700kv motors
4x 60-70A ESCs (these are $16, amazing!)
4x 14.8V 5Ah LiPo
4x 15"x4" APC propellers
spectrum DX6i transmitter/reciever
control hardware and software I designed with an atxmega microcontroller and MPU-6050 16-bit accelerometer+gyroscope
the frame is 0.75"x0.062" 6061 square tube and 0.062" sheet 6061 which is very much overkill and one of the reasons it's heavier than I planned
I haven't weighed it but I'd guess it's around 15 pounds which is higher than the 8-10 I planned on

I finished putting it all together and added some simple fiberglass landing gear which unfortunately almost flatten under the weight. I did a very nervous hover test and it did manage a very stable hover for 1-2 seconds at about 40% throttle before I wimped out and let it land(fall). The landing gear did nothing and it bottomed out on the floor, but it's ok. I think I'll just double up on the fiberglass rods and that will be ok.

here are some pics and a video of the first time I tried to hover a few inches at about 20% throttle without the batteries attached.

Video
http://www.youtube.com/watch?v=-1Qf4pqjAqY

IMG_0885.jpg

IMG_0894.jpg

IMG_0897.jpg

quadcopter.jpg
 
This looks awesome! I'm trying to build my own right now but it's definitely not as big as that.

Any idea what sort of payload capacity it has?
 
Nice job! I like it!
 
Thanks. I tried my first flight today, I think I need to adjust my PID, lol. The payload should be somewhere around 15 pounds, I planned for 20 but i don't think its going to do it. Right now it weighs about 15, and it hovers at about 40% throttle.

Video:
http://www.youtube.com/watch?v=cBCbTRqPMTY
 
Pretty cool to see it running. Looks like a bit of a handful to control at the moment.

What can you tell us about the control system. Are the ESCs stock, or have your modified the firmware to speed up the response, like this: http://airhacks.org/?p=445
 
Yea its uncontrollable right now. I had it up about a foot off of video for a couple seconds and it started oscillating back and forth very fast. From the physics simulation I wrote before building it, I can tell that that's either from too much P, or an ok amount of P and not enough -D. The integral term is 0 for now. Ill have to play with it for a while to figure out the right tune. The xmega is running a 400Hz PID control loop. The ESCs are the stock HK SS 60-70A models. They have an atmega8L micro on them, so if i have to reprogram them I can. At 400Hz throttle input they are pretty snappy though. Due to the size and weight of the quad, I think the throttle response from the stock ESCs at 400Hz will be fine. I think as the size of the quad gets smaller and lighter the response time of the ESCs becomes more of a problem because the quad can be accelerated a lot faster by any destabilizing forces. I have a field programming interface on the control board for adjusting all of the PID values etc using an led, 6 switches and a potentiometer. That should make tuning it a little easier, although the external programming board is all implemented on a breadboard for now.
 
Do you know if the ESC actually responds to all the 400Hz signals? I thought there was some sort of low pass filter.

Check out the first video in this thread http://aeroquad.com/showthread.php?328-ESCs-the-need-for-speed. It shows the difference one guy saw before and after tweaking the firmware.

Oh and nice work on developing your own control board. I would be lazy and just buy one like this: http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=19534.
 
No, it doesn't respond to the input signal at the same 400Hz that its given. There is a digital impulse response low-pass filter in the ESC. But The filter is designed to work with a 50Hz input signal. When you feed it 400Hz it shifts the cutoff point upward because its based on the time between pulses. So where the cutoff freq for a 50Hz input might be 5Hz the cutoff freq for the 400Hz might be 40Hz (I see a huge difference in throttle response between hooking the ESC straight to the reciever or to my control board). People have made much smaller quadcopters with standard ESCs at 400hz so I doubt I'll have a problem getting this to stabilize. I just use a wild ass guess for the pid values, p=800, i=0, d=-50. I think I'll try p=400, i=0, d=-160. With the i term being 0 the quad would not be able to hover level if i.e. there's more weight to one side. I'll worry about the i term after it can fly relatively stable.
 
dirty_d said:
No, it doesn't respond to the input signal at the same 400Hz that its given. There is a digital impulse response low-pass filter in the ESC. But The filter is designed to work with a 50Hz input signal. When you feed it 400Hz it shifts the cutoff point upward because its based on the time between pulses. So where the cutoff freq for a 50Hz input might be 5Hz the cutoff freq for the 400Hz might be 40Hz (I see a huge difference in throttle response between hooking the ESC straight to the reciever or to my control board).
Cool. Thanks for the low pas filter explanation, that saves me some time and effort. I might just have to try out 400hz for my throttle interface and see what happens.

People have made much smaller quadcopters with standard ESCs at 400hz so I doubt I'll have a problem getting this to stabilize. I just use a wild ass guess for the pid values, p=800, i=0, d=-50. I think I'll try p=400, i=0, d=-160. With the i term being 0 the quad would not be able to hover level if i.e. there's more weight to one side. I'll worry about the i term after it can fly relatively stable.
I usually get away with just PI no D. If you do use D make sure you have a pretty clean signal. As the D term is based on the derivative, it will be a lot more sensitive to noise in the angle readings from your gyros.

- Adrian
 
You used only PI on a quadcopter or some other project? I wrote a pretty accurate simulation in c++ before I began building anything and i was unable to get the thing to stabilize without a D term. the quad would oscillate itself out of control and flip over, with a D term it was rock solid stable.

I did as much PID tuning as i could in my living room, hopefully the next outdoor test will be better.
 
dirty_d said:
You used only PI on a quadcopter or some other project?
No very different applications. Looks like you have got it covered.
It has all been done before so you should have heaps of references like this to help you out.
http://aeroquad.com/content.php?126-PID-Tuning-Your-AeroQuad

Anyway, I'll shut up now since I am not contributing anything.

Keep up the great work.
 
Hmm i just read that, it said to reduce -D to reduce oscillations in stable mode. That's strange to me. Unless by reduce they mean make it more negative, but they say reduce it by -0.5, so id think they mean increase it towards 0. I'm going to try to alter my simulation a bit to try and simulate some of the delays involved better, like the ESC's IIR and see what happens.
 
While working on the C++ simulation I noticed that I made a mistake in my PID code on the micro-controller.

The statement for calculating the D term was basically:
d_term = (pv - last_pv) * dt

Where it should have been:
d_term = (pv - last_pv) / dt * d_weight

Sure enough after changing the corresponding code in the simulation to the incorrect code on the micro-controller the quad would oscillate out of control and flip over. Basically I've been trying to fly with no D term. Hopefully after making these changes it will fly stably.

Also, I added an IIR filter to the ESC class in the C++ simulation, It does increase the oscillations, but its brought into control by more -D. For the curious, the IIR filter was pretty simple to implement Its simply "throttle_filter = 0.95*throttle_filter + 0.05*throttle;" in my code where throttle_filter is an accumulator an the output of the filter, and throttle the instantaneous throttle input. I guess this is a single pole IIR filter. I'm curious to find out what a multiple pole filter would look like.
 
Well I think i have the PID code all fixed now. I could tell with my indoor test that the -D term is definitely kicking in now. I set it way too high though. Just the vibrations alone were amplified and apparent on the motor output which made it shaky and took 75% throttle to hover, it did seem to stay level though. A lower -D term and maybe some filtering on the derivative should fix everything.
 
I've been real lazy since getting back from Vegas. I need to get this thing outside one of these days and get it tuned right.
 
I am moving away from quads because of the propellers price. Hard to find quality props pairs too. I am braking way too much of them when fooling around with my small quad! I will probably build a big tri instead.
Btw, your quad looks like a really nice death machine, beware when testing those can be uber dangerous :shock:
 
Just needs a grapple hook and an NFC pay device, and it will your personal milk-buying robot.
 
I finally got around to flashing the simonk firmware to the ESCs, I went ahead and bought a KK2.1 controller as well. It works pretty damn well.

https://www.youtube.com/watch?v=XlMyax9dP8E

https://www.youtube.com/watch?v=wzRT8luIYk4
 
simonk or the other firmwares that support the 400hz is good or 390hz,
I have personally tested 42hz low pass filtering with multiwii to be the best combination all round
but it really depends on your setup and how you have your flight controller board setup.


For instance having a separate vibration isolation for the FC that has been tested to reduce vibrations dramatically is good having hi frequency filtering.. if your flying and the quad just hits a tree branch or flying slow and accidentally hit the ground, low lpf will handle it better than HI, Hi can cause it to crash depending on the circumstance.

This is why I like 42hz, stable in every condition ..


Get yourself a prop balancer, A laser, Mirrors and app for vibrations on your phone.
You can really isolate vibrations with this stuff.
 
It felt really stable, maybe because of the size. I've never flown a quadcopter before, and I didn't even realize that auto-level was off the entire time. What is 42Hz filtered? The output to the ESCs?
 
aww yeah, make sure you know which mode you are in before you fly.. Iv done that before.. for instance multiwii cant start in gps mode.. it just flips..


Yeah so you have GYRO filters, This is what you want to spend some time tinkering with to get the best filtering from vibrations that you would expect to get on your machine...
this is seperate to PID tunning, Your changing how fast the acc gets readings, 10 times a second, 20, 30,40,100.. ect.. So if you have machine vibrations its useful to change this setting on any multirotor.. but best to get rid of vibrations.

You also have the refresh rate of your ESC on how much it is checking with your fllght controller.. if you used simonk i think its like 400hz so this is just good to go.
By default there is no LVC with simonk, so it wont cut out like a regular esc, it will just fly until there is nothing left, best way to have it setup, and osd/buzzer
So depending on your FC, it will output 400 times per second how much throttle to give that motor to keep it flying well
 
Testing out how it flies with a load, maybe 4 pounds. Nowhere near the full payload capacity. I have the KK2.1 throttle scaled to 75% and was hovering at around 50% throttle on the transmitter. It's a lot more stable than I thought it would be.

https://www.youtube.com/watch?v=eIWmIzgEuOg&feature=youtu.be
 
dirty_d said:
Testing out how it flies with a load, maybe 4 pounds. Nowhere near the full payload capacity. I have the KK2.1 throttle scaled to 75% and was hovering at around 50% throttle on the transmitter. It's a lot more stable than I thought it would be.

https://www.youtube.com/watch?v=eIWmIzgEuOg&feature=youtu.be


Damm good job mate!

She is lift weights bro.

You should get rid of that kk2 board because you have such a dangerous machine and you should have good working fail safes, not to mention it will be more fun to use.
I just recently upgrade my multiwii pro red board from hobbyking with megapirateng software to run APM, they have a easy flash tool and its makes it easy and not need to mess with arduino.

The fail-safes you have with arducopter are
-Loss of signal from transmitter for a set amount of time will engage return to launch ( works with any tx and rx)
-Gps signal is lost for x amount of time copter will automatically land.
-Geo fencing.
plus way more
 
Back
Top