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
Ok, after more investigation, my brand new landing gear controler is simply death...
Thanks you for your help, really .
maybe is something wrong with wires..
Yup, works great for me :) I'm using the standard tarot retract controller from the 650sport (which I believe also comes with most of their other current frames). The only thing it doesn't do as advertised is to automatically retract the gear after takeoff, it has to be retracted by rc switch. But it always deploys for me automatically when landing or rtl.
Copter-3.3-rc7 should be available through the mission planner's beta firmware link in about an hour.
We think this at least partially resolves the attitude estimation problems that Winston, RobertS and Peter Barker (on another thread) found. Still, we recommend staying on -rc5 until we've had more time to be sure. We're pushing out this version because we believe it's safer than leaving a clearly broken -rc6 in place.
If you do feel brave enough to test -rc7 please be on the lookout for attitude estimation errors especially in the first minute of flight.
Changes since AC3.3-rc6:
1) reduce EKF gyro bias uncertainty that caused attitude estimate errors
2) force 400hz IMU logging on (temporary for release candidate testing)
Sincere apologies for the troubles and thanks for helping us test so these types of troubles don't spill out into the larger community!
Hi Randy,
I had two successful flights with rc6. The second however started a little strange: After arming and while still on the ground, the copter showed massive wobbles/oscillations - similar as with wrong PIDs. Then after disarming and arming again all was fine. Sounds like it is related. Send me a PM if you are interested in the log.
Best regards,
Thorsten
Hi Randy,
I guess I will be surprised if this is actually the source of the problem. I am running rc5 with close to these values (1e5 rather than 8e6 in GBIAS_PNOISE) and I don't see this massive oscillation. Here is a graph from wednesday with rc5. You can see that the overall changes are very small and the oscillation occurs around a mean that looks close to what you actually want. I suppose the increase in uncertainty could be the culprit (I didn't change the default), maybe the initial perturbation throws everything off? If it stop raining I might experiment a little to get more data.
So I ran tests with rc7 with GBIAS_PNOISE set to 1e5, 8e6 and 1e6 respsectively. I can't say that rc7 felt any different to rc5. The learned offsets looked pretty similar to what I was getting with rc5 and control seemed good.
It was fairly gusty but the copter coped fine and the EKF innovations seemed ok. I couldn't see any difference in roll/pitch/yaw between DCM and EKF. The logs are pretty large because of the IMU logging so I won't post here. I guess a theory might be if you have high vibrations then you will be more susceptible to bad gyro bias learning.
I did notice two unrelated things:
1. You can't set GBIAS_PNOISE in tower, it thinks the value is effectively 0.
2. I still see very aggresive throttle up with RCMAP. Spin on arming does not work for me and as soon as I touch the throttle the thing tries to take off.
Graphs below. Let me know if you want me to plot anything else.
Andy,
Thanks a lot for testing this and all the other things you've been doing. I also never had a problem with the higher GBIAS_PNOISE values from -rc6's so it seems to only affect some copters and is likely a combination of some waggle, compass noise plus this param change. That's what I've heard from Rob/PaulR.
I'll have a look at the RCMAP + spin-when-armed issue. Txs!
Thanks Randy,
I debugged the spin-when-armed issue a little last night and was kind of able to reproduce it in the simulator. It doesn't seem RCMAP related though, which is weird. Basically I put in debug to print out RCOUT on 1 channel every second. What I see is the following for different values of RCIN, with MOT_SPIN_ARMED set to 70:
RCIN RCOUT
1000 1000
ARMED 1070
1001 1070
1010 1070
1020 1070
1030 1135
1040 1145
So I think the aggressive spin-up I see is when it goes from 1070 to 1135 with RCIN only changing fractionally. It seems to be something to do with the minimium pwm value being set to "130" (I guess this gets added to radio_min), but I don't understand why the spin-when-armed value is allowed to be below this. I had some success modifying AP_MotorsMatrix::output_armed_not_stabilizing and I think that's where the problems lie, I'll have another look this evening if you don't get to it first.
Andy,
I tried to reproduce any issue with spin-when-armed + RCMAP and couldn't so I agree with your finding that perhaps it's not spin-when-armed related.
While doing this I wondered if perhaps people were forgetting to do the RC calibration and/or ESC calibration after changing RCMAP parameters. I'm planning to write a wiki page on RCMAP so I'll add this requirement to the instructions.
The spin-when-armed value should be below the THR_MIN because we want the motors to spin at a lower rate when the vehicle is landed so that it's less likely to injure people. Once it's not landed the thr-min ensures the props don't stall. So I think the parameters involved in this are:
RC3_DZ (where "3" can be different if RCMAP is used) : the deadzone on the throttle input. By default "30". this explains why you see a jump when the RCIN goes to 1030 - below this level the pilot's throttle input is considered zero (or "1000" pwm).
MOT_SPIN_ARMED: this + RC3_MIN (where "RC3_" can be a different channel if RCMAP is used) is sent to the motors when the vehicle is landed + pilot throttle input is zero (in stabilize mode).
THR_MIN: this + RC3_MIN is sent to the motors when the vehicle is not landed + pilot throttle input is at minimum (i.e. 1000pwm) OR vehicle is landed + pilot throttle is above minimum (i.e. > 1030).
When the output is jumping to 1135, it must be that the vehicle thinks it's not landed.