Warning #1: an issue has been found with Tower's Pause button which can cause the vehicle to fly to an old position if the vehicle has not sent a position update to Tower in some time.
Warning #2: Copter-3.3.2 fixes a bug found in Copter-3.3.1's desired climb rate initialisation which could lead to a sudden momentary drop when switching from Stabilize or Acro to AltHold, Loiter or PosHold.
Warning #3: Copter-3.3.2 fixes an issue found in Copter-3.3.1 which could lead to hard landings in RTL or AUTO if the WPNAV_SPEED_DN was set too high (i.e. >400 or 4m/s) and/or the WPNAV_ACCEL_Z was set too low (i.e. <100 or 1m/s/s).
Warning #4: a bug was found in Copter-3.3 which could cause a sudden crash if you abort a Take-off initiated from a ground station. Video description is here. The bug is fixed in Copter-3.3.1 so we recommend upgrading.
Note #1: AC3.3-rc8 corrected a long standing bug in the HDOP reporting. HDOP values will appear about 40% lower than previously but this does not actually mean the GPS position is better than before.
Note #2: if upgrading from AC3.2.1 the vehicle's accelerometer calibration needs to be done again.
Note #3: set SERIAL2_PROTOCOL to "3" and reboot the board to enable FrSky telemetry like in previous versions.
Note #4: the wiki will be updated over the next few weeks to explain how to use the new features
Copter-3.3.1 is available through the mission planner. The full list of changes vs AC3.2.1 can be see in the ReleaseNotes and below are the most recent changes since AC3.3.
Sadly this version (and all future versions) will not run on the APM2.x boards due to CPU speed, flash and RAM restrictions.
Changes from 3.3:
1) Bug fix to prevent potential crash if Follow-Me is used after an aborted takeoff
2) compiler upgraded to 4.9.3 (runs slightly faster than 4.7.2 which was used previously)
Changes from 3.3-rc11:
1) EKF recovers from pre-arm "Compass variance" failure if compasses are consistent
Changes from 3.3-rc10:
1) PreArm "Need 3D Fix" message replaced with detailed reason from EKF
Changes from 3.3-rc9
1) EKF improvements:
a) simpler optical flow takeoff check
2) Bug Fixes/Minor enhancements:
a) fix INS3_USE parameter eeprom location
b) fix SToRM32 serial protocol driver to work with recent versions
c) increase motor pwm->thrust conversion (aka MOT_THST_EXPO) to 0.65 (was 0.50)
d) Firmware version sent to GCS in AUTOPILOT_VERSION message
a) pre-arm check of compass variance if arming in Loiter, PosHold, Guided
b) always check GPS before arming in Loiter (previously could be disabled if ARMING_CHECK=0)
c) sanity check locations received from GCS for follow-me, do-set-home, do-set-ROI
d) fix optical flow failsafe (was not always triggering LAND when optical flow failed)
e) failsafe RTL vs LAND decision based on hardcoded 5m from home check (previously used WPNAV_RADIUS parameter)
Thanks for your testing!
max usable flight time landing with a 20% reserve, just as is recommended by nearly every manufacturer.
I've used several types of lipo and NONE of them recommend leaving a mah reserve, ie only using 4000ma from a 5000ma battery.
They ALL recommend only using 80% of the maximum amp capacity, ie a 5000mah 20c lipo can deliver 100amps so you only pull 80amps from the pack under full load.
Edit. I just changed another copter from -rc9 to -rc10 and the motors spin when armed without adjusting any parameters.
The 80% rule applies to capacity, not c-rate (http://www.tjinguytech.com/charging-how-tos/80-rule) and has been a long standing recommendation to make LiPo's last. The main rational behind it is that each cell in a pack discharges at a slightly different rate mostly depending on the condition of the cell so if you discharge only using 80% of the capacity you lower the risk of draining one slightly lower performing cell below it's damage voltage (3.0V).
With a 3 cell pack you can have a voltage of 9.5V but the cells might read 2.9V, 3.3V, 3.3V so if you fly to 3.5V per cell or 10.5V per 3 cell pack you usually end up consuming ~80% of the pack, which for those with voltage telemetry is an easy point to determine.
What really strange to me is that "pitch" actually follows nicely with the "desPitch" as you can see from the plot.
It is the "desPitch" diverges from the "RC2" input. Why this can happen? Doesn't "desPitch" take input from "RC2"?
Thanks all for the advices. I will surely follow the 80% battery capacity rule ^^
Can you give me a link to a lipo manufacturer that confirms that?
The only one on-line that I could find in a rush, bottom of the page item number 5 clearly says that it is the 80% of C rating*mah (as I described) and not 80% of the mah capacity.
I do agree that 3.0v per cell is the absolute minimum and I personally only go down to 3.5v per cell when flying. However I regularly fly my 5000mah packs using up 4500-5000mah and have had no problems after multiple cycles using the 80% of C*mah rating (still staying above 3.4v per cell).
Quad pulls 58-59amp max so I use 5000mah packs with a minimum C rating of 20 (100amp max supply).
Thanks Trent for looking into my log. That's my problem RC2 at max but no RCout response.
Around the moment after flight-mode = LAND (the green box in the plot below) :
- ThrOut = 65%
- RCOUT does not clip at max
- pitch follows nicely the desPitch. and desPitch is negative (pitch forward)
- RC2 is above mid-point (pitch backward). desPitch does not follow RC2
I guess it is not due to vibration as the clip0 and clip1 are still 0 after 30mins of flight time.
Can't sure what had happened to me.
I have a concern about the rc10 change mentioned in item 3e of your updated OP. 5 meters seems high for a fixed value. I frequently launch from my back yard where I have trees, shrubs, and house on 4 sides with a 5 or 6 meter square open region. I generally set the final return to launch altitude to a safe height above the trees in case the GPS error is higher than normal. Then I can command the land when I am ready to control it for safety. I'm usually able to guide the landing and I usually fly with telemetry so I should be aware if it decides to land where it shouldn't, but if I'm not paying close attention, a failsafe landing 5 meters from home will cause a crash. I believe I have WPNAV_RADIUS set to 2 meters (Is that the default?) but I really don't want it to land at all, even if the failsafe is triggered directly above home. At the very least, I need less than 5 meters offset.
Would it be better to use the smaller of WPNAV_RADIUS and the hard coded number rather than just the hard coded number? It would also be great to have the option of not choosing land at all as the action! Especially if the final altitude is not 0.
In fact, isn't the goal of this cut-off radius just to avoid the climb to RTL altitude and the extra risk that involves? Wouldn't it be best then to just implement it that way? If within the WPNAV_RADIUS, just skip the climb and perform the rest of the normal failsafe RTL action?
Though a bit off-topic but I can share some data on my LiPo testing.
I think there are 2 issues mixed together:
1) LiPo "mAh" can be over-rated. The steep descent of LiPo terminal voltage may happen earlier than expected.
2) LiPo "C" can be over-rated. The LiPo temperate can get unsafely hot even if current draw is within the "C" rating.
Following is my 30A discharge testing on a Zippy 4S 5000mAh 20C LiPo.
It shows this LiPo "mAh" capacity is over-rated. The "voltage cliff" starts to occur when 4400mAh~4600mAh energy is consumed, not 5000mAh as rated.
Another plot of the same test shows this LiPo"C" is also over-rated. 30A discharge from a 5000mAh LiPo is only 30/5 = 6C. However the temperate keep raising and raising. I have to switch on my air-conditioner when the LiPo reaches 38 degree celsius. Also I turn on my fan and blowing cool air over the LiPo to cool it down.
If I really let the LiPo be discharged at 30A all the way, I might have a lipo smoke (or fire?) in my bedroom!!
So the actual "mAh" capacity here is 88~92% of its rated number.
And the actual "C" rating is not even close to 40% of its rated number.
* These test is done using iCharger 308DUO. I love this charger very much ^^
I was discussing this issue of the radius with Randy, and the 2m seems somewhat "short" because of the errors associated with positioning, read "GPS positioning radius", which would result in never being "inside" that circle.
With a larger fixed diameter the possibility of being inside the radius increases, and you have the ability of repositioning the vehicle while it is landing (LAND_REPOSITION=1).
Other option would be to use the GPS horizontal error as a factor, but that would vary too much to be reliable.
Even yesterday with RC9 I had one of these events happen to me, while I had the quad in front of me at arm length, and at head height, when the RTL from the battery failsafe kicked in and the quad shot to the sky (15m), although it had been armed from aprox. the same position I was flying, but the GPS error had it outside the 2m radius...And believe me that an overpowered 330 quad can scare you if it jumps right in front of you from head height to 15m....
Isn't the WPNAV_RADIUS parameter expected to be used for exactly this purpose? To avoid wasting time hunting for an exact position? I assume that's why it used to be the cut-off between the two behaviors. The problem was caused when someone had that parameter set very high and a landing was performed in an unsafe area. It seemed very reasonable to me to use that parameter for this purpose.
I don't think a 2 meter radius would result in never being inside the circle unless the EKF position estimate is drifting around very quickly!
But as I said, I may not want unguided landings at all. I'd rather that LAND is not even a possible failsafe action if I have configured RTL. (except, perhaps when there is no longer enough voltage/throttle headroom to fly reliably). I've already specified the failsafe action as RTL without a full landing by specifying a non-zero final altitude.
It seems to me that instead of land, we just want to avoid the climb to RTL altitude when we are already home. And it seems to me that already home may as well be specified the same way as all the other waypoints with WPNAV_RADIUS.
Another aspect that should be considered as far as the reserve you set is the altitude you usually fly AND check the max decent rate. If the MR goes into FS and tries to land itself it can literally run out of juice just coming down so darn slow. I think the default is very slow for safety but might want to increase this. I think another thing that can happen as well is if the pilot is not be fully aware of what’s going on, especially if the ‘nudge’ option is on, so the pilot see’s he has some control of the pitch and roll decent but NOT the rate it’s dropping right? [The ’nudge’ option doesn’t effect decent rate with pilot throttle input does it?] So one might be watching his copter about to land in a tree and not realize it’s in the ‘land’ FS mode and just goes full throttle but unless I’m remembering wrong that won’t work unless he toggles the mode switch to get out of FS. An extension ladder and a flashlight was involved in my learning curve on this. Sorry… OT of the OT… opps.