I just pushed Arducopter 2.2 to the Mission planner. This version went through extensive testing by a brave group of flyers and with both HIL and SIL testing.
See this link for more:
If you run into any problems please let me know here. If you find a reproducible bug, please add it to the issues list.
If you run into Loiter issues, try adjusting LOITER_P. It's 2.0 right now which may or may not be to aggressive for your copter. Nav is no longer used in Loiter control, which should make tuning easier.
If you run into a circling issue, try lowering LOITER_I to 0 and see if it goes away. If not, check your compass declination. A negative error will produce CCW rotations, a positive error CW.
If you have issues with alt hold, try lowering your THROTTLE_P, it may be too high for higher thrust copters.
If you have wobbles and can't seem to get rid of them, there is a new term called STAB_D, which is a derivative term used to tune out the wobbles. You can increase it until they stop, but just like driving a cadillac, you loose some performance and handling. In the CLI "tune 16" in setup will let you control this in flight, and "tune" in test menu will let you see the value printed out interactively before flight. See the wiki for more detail.
Many testers gave me a thumbs up on the code, so if you have an issues please post the flash log from the copter. The tLog isn't that much help to me for debugging as it doesn't capture the needed values at high enough rates.
(Remember, if you'd rather pull the code from the repository and load it with Arduino, you must use the "relaxpatch" version of Arduino in our downloads section.)
I believe I found the simple mode error. It was a bug that was working OK until Tridge fixed it so it was declared properly. Then the bug became active. I made the Simple mode function internal variables static and this should fix it hopefully.
I updated alt hold to not use dampener for now until we get more testing. Some folks saw a latency induced oscillation which was pumped up by the D term.
I added the automatic throttle cruise or hold value as a compile time option for testers. This basically looks at your throttle and climb rate while in stabilize or acro and determines your optimal hover value. This means you can enter any autopilot mode and not have to worry about your throttle position. It should make alt hold more reliable if it works. This is off by default until we get good field tests back.
Update pushed to GIT.
Just some refinements. I added JLN's throttle curve mod for landing. Hopefully that's correctly implemented.
Made the landing delay from RTL user settable
removed the ADC gyro filter, I was doing a lot of testing and determined it wasn't worth it.
Enabled the auto-throttle control by default. Please test in the sim
Altitude no longer resets when flying in Loiter mode
Pitch and roll dampening is smoother now. try values up to .08 for very dampened flight.
Mavlink can now trigger auto-land
I'll push a hex when I hear some good news from HIL testers.
OK, 2.2b6 is on GIT. The Mission planner is going to be out of sync until the release code. until then you can use the APM_Config.h or the parameters list in the Mission planner.
STAB_D : This is the gyro accretion dampener. This can remove small wobbles during sharp changes in angle commands. Making this too high can have a negative effect in performance and add a memory effect that can cause temporary loss in control. The in flight tuning is ranged so you are just below that effect.
If you haven't noticed before the control loops are in two stages. The first is a PI stage that converts some sort of position or angle error into a desired rate. These generally do not need to be tuned. They are more of a user preference on how fast you want the copter to perform a motion.
The second stage is the actual PID loop that needs to be tuned for the copter. This converts the desired rate into a motor command of some sort. I added a D term based on Igor's recommendation to the PI's for each rate controller. These should show up soon in the mission planner for the release. I cannot give you a concrete answer for how to tune the D terms, because they each depend on their function such as alt hold or loiter, etc.
Still, the absolute most important term is always the Rate_P term for each loop. Start tuning here.
The default PIDs are in the what flies great for a stock jDrones/3DR Quad with the purple motors in X mode.
Love it! :-)
Awesome, stable and responsive... would say that we are! But this is "2.2b PIDT1"...?
When it stops snowing here, damn?! :-/
Oh, this was anything but levelled, my floor is all over the place. Once i auto level it i think stab is going to feel like loiter indoors :)
When will b6 come to missionplanner?
When Jason gets back off his well deserved break and we've tested it to the max I'd imagine.
I'm intending to undertake some serious testing - experimenting with the outer limits very soon. My DJI flamewheel frame arrived today...
Indoor 'loiter'. Nuff said.
But i know you love the detail...
Just to be clear this is stabilise mode - no gps lock.
The quad is now auto-levelled. The room is 3.6*3.4m. This was the first time I tried this. For 1 minute 25 seconds, before I go for the 'flyabout', I touched the stick just 4 times, only to push the quad back to the centre of the room. Then after the fly I release the stick and it just sits in the air for another 15 seconds. No optical flow, no sonar, just throttle and an amazing flying machine. I noticed after a few tests that sometimes as the quad approached a table or sofa or a doorway the turbulence would cause it to fight toward the backdraft from the object and so increasing the error. I think in an empty room with closed doors, quad in the centre of the room, the reflected downdrafts under the quad, pushing it away from centre toward the stiller air around it may encourage it to stay 'about centre'.
What amazes me most is that it's so responsive and yet slow and gentle enough to actually watch it react to it's own drafts. And its so smooth and so placid until you try to push it about a bit and then it growls at you like an angry bear, but never loses its cool. Then if you throw it about with the controls it does exactly what you tell it and stays solid as a rock throughout...
Tomorrow I'm moving furniture and possibly installing concave skirting boards.
I'm bathing in the light at the end of the tunnel :D
Oh and for a bit of fun... magnetic trees...
So happy with RTL performance of arducopter i decided to treat myself. Last battery goes in the kk tri for my second attempt at fpv ever... I'm cosy warm in the white van with my goggles on :)
its those magnetic trees again!!
I have done this 3 times. As such I call my copter Timex. (Takes a Licking and keeps on Ticking.)
Great tunning work Dave ! Congratulations :) Loved the magnetic trees also eheheh ! keep on :D
Guess this is covered somewhere but have not found it easily. How do you go about tuning, without the Mission Planner covering the parameters , for instance all the D values, like RATE_PIT_D are not available in the config screen in MP. Do you use the CLI? How do you know what to tune? I mean tune 4 is documented for tuning RATE_KP, but where do you find values to use in the CLI for the D value. I see defaults are set in config.h, but to change those and recompile is a bit time consuming!
All done in mission planner. If i had i suitable volunteer to punch the values into the laptop here i could tune it in the air.
Are you using MP 1.1.30?
If so all the 'extra' params are in the left hand pane of config/arducopter.
Obviously don't do the first tuning steps in the air as the first step is to effectively disable the gyros and accelerometers...
Start by changing Rate P and I and D and stab_P and I and D to ZERO.
Follow Igors PIDT1 tuning blog and the posts by myself Marco and Angel in the last few pages of this thread is my best advice, also get Marco's latest Zip, its simply the best one at the moment. All you have to specify is the type of board you have in the config file using relaxed 0.22 arduino. The rest you can do in mission planner. Just have your laptop in one hand and the quad in the other and its quick. First increase the rate_D, (see the blog and posts) for both pitch and roll a tiny bit, then hit 'write parameters' test by twisting the quad at at least half throttle - the more the better i find - right over, does it oscillate at 90 degrees? If so you've gone too far. If not add 20-30%. When it oscillates, back off a bit. Then do rate_P and I, then stabilise etc etc - all in the blog. Full face helmet optional ;)
If you do this tuning method, leave stab_d as zero by default. I intend to play with it but presume it will not be a useful tool if we already are boosting rate_D.
Oh yeah, DO NOT TAKE OFF IMMEDIATELY YOU WILL CRASH, there is an initial 5 second (or less) 'wobble' especially with high (mine now 10.5) stab_P values.
Let the props spin up for 5 secs then lift off.
There is a fix for this, somewhere.
Also in the last post when i say twist the quad, at at least half throttle, i mean give it about 80% power and turn it nearly upside down. Its amazing what vibes/oscillations suddenly show up at 90 degrees as you increase the power.
has anyone tried 2.2b6 on their tricopter? Does it work at all?
Mine seems to flip at some point when flying in windy conditions (not sure if it's hardware or software related), some logs here from previous crash are here.
I loaded yesterday 22b6 on my tricopter, but had no chance to get it flying (---I figured after loading that the yaw servo reveres issue is not implemented into 2.2b6....) and moreover I'm not sure on how exactly the CoG must be set...so I'm working on my CoG (put battery here and there, few milimeters left/right) but I hope to get it flying in the next two days.
Sorry to hear that you crashed. Hope my titanium/carbon/honeycomb frame will survice a crash .-)