Developer

Arducopter 2.2 beta

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:

http://www.diydrones.com/forum/topics/arducopter-2-1-1-alpha

If you run into any problems please let me know here. If you find a reproducible bug, please add it to the issues list.

tuning tips:

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

 

Update 2.2b2

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.

Update 2.2b3

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.

Update 2.2b4

Flew today and saw the WP speed governor wasn't quite working right. It was going down to 0 rather than the minimum.
Made internal switch to CM for distance calcs. This should not make any change to gains or MP.
Modified a few default gains for jDrones frame based on AP test flights of this code in some heavy wind on my roof.
Fixed an issue with the landing code not kicking in right away.
Decreased the slowdown near WPs
Added a limit to the amount the pitch compensation can effect the throttle if the throttle input is really high or maximum

 

Update 2.2b6

This is a rollup of all the code that's been flying around for the last week as well as a few bug fixes. I'll be posting it saturday night after reviewing all of my logs.
A dampening term called STAB_D has been refined. A D term for all of the Rate based control loops has been added based on Igor's work. Landing for Baro and Sonar has been refined based on JLN's work. A slightly new approach to Loiter and Navigation is being used to try and linearize the pitch and roll for rate control. It tends to use lower gains, yet has a more assertive response in the air.
I have one small loiter control issue to sort out tonight based on my logs, then I'll post to GIT.
Here is the auto-landing code in action. 

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.

Thanks,

Jason

 

 

 

 

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

Join diydrones

Email me when people reply –

Replies

  • Today , I test 2.2 b4 in Loiter mode altitude 10 - 15 meters. In Area test not have wind (0 km/h). It's very stable but have sometime drift out of center about 3 meters.

    2555-01-25 06-49 1.log

    2555-01-25 08-55 1.log

    2555-01-25 08-58 2.log

  • I'm a bit behind what with bad weather and work. But would like to just update with my latest findings for those, like me, who are on permanent catch-up. I realise much of this will soon be obselete but until then hope it helps someone understand something.

    I uploaded 2.2b4 today and had a mess around in the lounge and garden. It flies well, better than 2.2b2. i could even keep it pretty still in acro mode - with 25%expo on pitch and roll - I'm no expert :)

    Stabilise very good indeed on my arduframe - standard 850/20A setup 10*4.5s

    Alt_hold - despite my awful noisy sonar this is the first time I've tried alt_hold indoors (on purpose) due to its lovely performance outside. It will very smoothly bob up if wave my hand under it and then lower gently back down - lurvly :)

    Decided not to try loiter as space is tight. 

    The most significant thing about all this is that i decided to try the default PID.s. So now I'm running at stab_pitch and roll at 4.6 instead of 3.2, and can keep rate_pitch and roll at .155. This is compared to the 2.2b2. In other words i can dial up the P without the oscillations i was suffering in 2.2b2. So if you need staring points for your settings, give the defaults a blast. (in 2.2b my quad was very edgy with these setting)

    Really excited to see how the new control mechanisms perform, its becoming an absolute joy to fly this thing :)

    I have my first auto flight prepared with waypoints all setup and ready for the weekend \O/ - i hope I'm posting a lovely video and not a jpg of quad spares :)

    Good work all, once again. 

  • Hey Jason,

    Conversation focuses much on the rate and attitude control loops. New control structure is being deployed. Brings me hope :)

    I remember that at some point (one or two monts ago?), after forum suggestions, you introduced a non-symmetric low pass filter on the output, to compensate for the assumption that acceleration and retardation of large propellers would be non-symmetric. So the inputs to the ESC´s would be allowed to decrease more rapid than increase. Or if it was vice verca...

    • Is that "non-symmetrical" low pass code still present? Active by default or to be uncommented for experimental use?
       
    • Would you say that rate and attitude control performance would gain significantly if the low pass filter in ESC firmware could be reduced/disabled, for multicopter use? (If yes, then I have good news.)

    Tomas

  • Today i had an expierience..it was so funny.

    I was on my bicycle in my hometown to drive to my testfield. at a red trafficlight a man asked me: "Hey, cool, what u are doing?" (I must say, that i mounted my Hexacopter on my Backpack ^^) Me: "Hmmm? Dont u see that? Im BATMAN!!!"....He: "REALLY????"...Me: "Uhhmmm....bye..."..

    3692342025?profile=original

    LOL

    I did some Videos, to show u, what my described problems are. After Cutting, i upload them.

    EDIT: On the Pic i see, that i lost a propeller, dont know where. ;)

  • Hi Jason ! Can you tell me if the descent rate for autoland can be lowered in version b4 in order to have a more smooth landing ?

  • Any ideas as to an ETA for final NON Beta release ?

  • Hey PPL

    STOP!

    i dont mean, that MW is better than APM. Never ever. I know, that some work to do and ive to do some work too on my PIDs, but...atm the APM flies not so stable as my MWii, as i said. So the amazing work of all is great !!! its only the stable mode, that hurts me....i testet all released versions, like dev,, JLs, Adams and so on, but i cant get it stable.

    But, i love it to steer my copter very hard and crispy. Full Roll, release, the copter goes stable. if i do this with the APM, my copter is wobbling (yeah, i tried ALL PID possibilities) and ive to steer so much more to get it stable in the air. my MW is after full ROLL and release very fast in stable, without wobbling. maybe is the basic code of MW better, because there do not calculate so much more exact as we do this on the APM? i had found the best PIDs for my system, as i can. maybe there not okay, but i feel the difference. if i yaw 90° my MW is yawing fast and exactly 90°. with my APM its sluggish and i have to correct very often. often the APM is doing some corrections in the air, that not needed. so it gets unstable. i testet my Flyduino Hexacopter with MW, and i can steer it as perfect as i will. so the combination of used materials are okay. if i use APM i have to correct so often in the air. stable is another thing...

    i hope u understand, its like a dance, where u have to do the steps very accurate. its possible with the the MW, but atm not with the APM 4 me. i dont know, how i explain it, that u understand. english is not my native language. but i do some videos to show u what i mean.

    mybe we have to revisit the hexacopter code. u all fly quad, i think. but ive flying a hexacopter.

  • Hey Guys

    I dont know everything about arduino / mega Code, but i ask me a question many times. I use a MultiWii Copter to have fun. its made with an Arduino, a WiiMotionPlus and a BMA020 (Acceleration). It flies so good, sooo stable, u cant believe it. If i roll / pitch my stabilized Copter very hard, its going very hard to level without any oscillations.

    APM is a Mega Machine too, so why we have so much Problems with Stabilized Mode? (and i have them, because my APM feels sooo sluggish) I havent seen my Hexa with APM so much stable as my MultiWii. But weve better Sensors and so on. So is it possible to get some Code from MultiWii to get the APM more stable / crispy flight / faster response time? i hate the minmal delay on my APM, that flies like a sluggish thing. i had tuned my PID, but i cant get it so crispy and stable as my MultiWii.

    so, if we have better sensors, what is the problem? u say, APM is stable, no it isnt. look at the Multiwii Copters (i have to upload one, that u can see, what i mean). there stable without having so much complex code.

    I love the stable mode, because im a FPV guy. sometimes i need the stable, but i cant choose the APM atm to fly fpv, because its not stable enough to me.

    Hope u understand and dont blame me. ;)

    i would help to improve, because im loving the APM. ;)

  • Ok, Ioaded 2.2b4, the following (bad) video is in my house, somewhat cluttered.

    Hey, I'm a bachelor, and it is MY house!

    I like stabilize.......

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

  • ArduCopter_2.2ß2XP2_PIDT1 initial oscillations

    See this short video with a hand test. The first 3 sec oscillates. After that is OK.

    http://vimeo.com/35586306

    Angel

This reply was deleted.

Activity