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
3) Safety:
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!
Replies
Hi Wes,
Not a bad idea on the minimum throttle thing. On its own it may not be up to scratch but I will think about it.....
I believe this is another scenario of "GPS-correction overriding pilot input". In my case I fly with rc8. My copter triggers battery failsafe LAND mode. GPS quality is very bad. It leans forward by itself regardless of my full-pitch-back input. I am confused at that time as LAND mode should accept my pilot X-Y correction but it doesn't. This case is discussed here and is not arrive to a solution yet.
Wes's proposal is stop listening to GPS when (flight_mode == loiter) and (throttle_input == min)
Mine proposal is stop listening to GPS when (flight_mode == land) and ( (pitch_input != centre) || (roll_input != centre) )
I think in general, autopilot should stop listening to GPS correction when there are input from pilot. Give pilot control the highest priority. Maybe position-hold mode is already doing this?
This last tip over was a complicated landing on a small concrete square three feet from my wife's car. It was windy and and the barometer pressure was changing a lot with the gusty conditions requiring constant throttle changes. This is why I did not reach up to switch to AltHld to land as I normally do. There was more than enough going on already.
In any case a more robust method to prevent tip overs on landing would be much appreciated, thank you for giving it some consideration!
motor kill switch.
One of my big, easy to reach switch is motor stop. As SOON as I am on the ground, or sometimes even just above, I hit the switch and hold it until it disarms.
Yes, ideally the auto detection would work better, but for now the kill switch works.
But it requires you use up a channel just for landing. It also means you are reaching for a switch during the most tricky phase.
Wes,
Nice to see you're getting very familiar with the logs. I think you're correct that the landing-detector didn't yet think the vehicle was landed so the vehicle was still trying to move horizontally.
Switching to AltHold when the throttle is all the way down works in some situations but it wouldn't be good if the vehicle was 100m up in the air and the user was just trying to descend at the maximum speed.
It's quite difficult to get the landing detector so that it can always detect a landing quickly but never have a false positive. We've done a fair bit of work in this area in AC3.3, it's possible we can do more (for AC3.4 or a patch release) but I'm starting to think we may need a range finder to get to the next level of reliability.
A false positive on the landing detector would be bad. Loosing GPS hold momentarily not so bad. Personally,I don't try to descent at minimum throttle but low throttle.
A minimum throttle GPS lock out would be great for me, maybe a check box to allow GPS lock so that those who want the feature could try and those that don't won't have to.
Using a range finder is a great idea also, would require every body to add another sensor to there machines- I would do it! I have a PX4flow sensor on the shelf that is just waiting to be played with.
Adding a minimum throttle GPS lock out option might even be worthy of summitting a formal feature request. Have to wait and see if any one else things it might be a good idea.
I think this would be bad for landing in windy scenarios when PosHold/Loiter is most useful. There would be the danger that the craft would suddenly get blown sideways when the GPS was ignored.
I wonder whether low-tech is best here. I have advocated ignoring yaw commands when throttle is at minimum in these modes so that you don't end up doing the disarm dance while the copter still thinks its flying. Why not instead of everyone switching to stab when they are on the ground have some "I've landed dance" so that the FC knows to basically shut down. e.g. if you are ignoring yaw at min throttle take full right yaw as "copter on the ground".
Yes I second
Aargh I absolutely hate this forum software. Seriously, was it designed in the 1980s? It randomly truncates replies to three words - usually the longer you spend composing the more likely it is to truncate. And why do we have a single thread with thousands of replies in a disorganised mess for such a wide topic? Why not have a separate area/forum for testing where we can have sensible threaded discussions about a single issue, like landing, or gps, or ekf, or autotune, etc etc that people can actually find, report, discuss, contribute to and come up with solutions for issues rather than each issue being lost and forgotten in the hundreds of pages of replies.
Anyway, I had composed an eloquent soliloquy on landing issues which I won't bore myself with again, but it boils down to:
- Cautious landing detector good, false positives and falling out of the sky bad.
- Landing detector not always great at detecting landing in good time, causing tipovers and mangled blades.
- An option to 'assist' or 'tell' the landing detector that the craft has actually landed would be a great addition, either using some wierd and wonderful three finger salute or by a channel switch.
- I use a popular tarot 650sport frame which by the time you add motors and batteries is top heavy and inherently unstable in landing, prone to tipping over (as are a lot of multicopters). Extending the landing feet/rods helps considerably, I actually use pool noodles/pipe insulators to wrap around the landing rods as I land on water sometimes. With the large landing feet and hence more stable craft I've never had a tipover and the landing detector seems to work much more reliably.
- Landing in an assisted mode (landing/althold/loiter) is safer for the vast majority of flyers, landing in stabilize should be a last resort/experts only. But landing in stabilize is the most reliable/safest from the moment it's actually touched down.