Warning #1: Compass calibration and reducing interference is far more important than with 2.9.1b
Warning #2: GPS glitches can cause sudden and aggressive position changes while in loiter mode. You may wish to reduce the Loiter PID P to 0.5 (from 1.0) to reduce aggressiveness (see image below of where this gain can be found in mission planner).
Warning #3: optical flow is not supported but will be back in the next release (AC-3.0.2 or AC-3.1.0).
Warning #4: loiter turns does not maintain altitude. This bug will be fixed in AC-3.0.2.
Warning #5: This release has only been lightly tested on Traditional Helicopters.
Improvements over 2.9.1b include:
WPNAV_SPEED, WPNAV_SPEED_UP, WPNAV_SPEED_DN, WPNAV_ACCEL allows configuring speeds and acceleration during missions
How to upgrade:
1. Make sure you are using Mission Planner 1.2.59 or newer (get it here)
2. Click on the MissionPlanner's Hardware, Install Firmware screen. The version numbers should appear as "ArduCopter-3.0.1", then click the appropriate frame icon and it should upgrade as per usual.
3. Reduce the Loiter and Alt Hold PIDs if you have modified them from the defaults. The modified PID values for the 3DR frame can be seen in the image below.
Note: Nav parameters have been combined with Loiter so do not be concerned if you can't find them.
5. Try out the new version in stabilize mode first, then alt-hold, then loiter and finally RTL and Auto.
Numerous How-To videos are available:
Special Thanks to Marco, DaveC and the large number of testers on the pre-release thread who put their copters at risk during the extended testing period. Some of their videos can be found here, here, here, here, here and here. Thanks also to MichaelO for the MP changes required for this release.
All feedback welcome. Please put your questions, comments (good and bad!) below.
the take-off altitude issue is in the issues list here and I hope to sort it out for AC-3.1. The circle mode thing is a little more difficult because it involves second guessing the pilot's request...so I'm less sure about how to do that one.
Ok, so you're bumping into the next issue with the AVR which is that we're getting close to the code size limit. You might want to disable the optical flow sensor to save some room.
#define OPTFLOW DISABLED
If indeed it's performance related there are 3 things that we can speed up to save a little bit of CPU:
1. simple mode calculation (although I don't think you're using it) - we can replace the sin and cos with some multiplies
2. RC_Channel library does some unnecessary multiplies and divides when converting pwm <-> angles.
3. AP_AHRS's rotation of the accelerometers by the X and Y trim also rotates by the unused Z trim so we could save at least 8 or 9 multiplies.
I think the yaw "slew" is hard-coded at 60 degrees/second. There's a request somewhere in the issues list to make it a parameter which I may do for AC-3.1.
If you're uploading the code yourself you could add this line to your APM_Config.h:
#define AUTO_YAW_SLEW_RATE 30
I test flew my F450 quad just the other day. It was a super calm weather just after a heavy rain. I wanted to see the 3 modes (acro, stab. and loiter) when it wasn't windy out there.
Acro and stab. modes did great. As soon as I switched to Loiter (I had a GPS lock), quad started climbing (not at a fast rate). I thought it would be the throttle_mid parameter issue. I lowered the throttle but it didn't stop the climb. I then turned it back to stab. I realized I didn't have a control. I panicked; switched to acro; still didn't have anything. No control what so ever. The quad was climbing at a steady rate. It was about 20 meters or so. I turned the Tx OFF; hoping that it would RTL land. It didn't do anything. I turned the radio back ON. Right at that second, all motors stopped in mid-air and the quad started to fall. With the fear of losing the entire platform, I didn't do anything and let it fall all the way down. Just about it hit the ground (grass surface), I attempted to fire up the motors to reduce the impact. Motors responded and slowed down the descent rate but it still hit the grass surface and flipped. Luckily no damage. I didn't even break the props.
I tested the quad after that and everything seemed to be working fine. I didn't want to fly it but all controls were functioning ok. I downloaded the flash log; checked it for a while. I can't find anything. Or let's say I don't know what to look for exactly.
Do you think you could take a quick look at it and let me know what happened?
I test flew this quad a few times with same conditions and it was flying okay. I know my compass interference is very and I need to work on it but I doubt it has anything to do with what happened here.
Would very much appreciated if you could take a look at it. I do not have telemetry; so no tlog...
I want to know what caused the loss of control and what caused all motors to stop.
Funny, I did that twice setting a mission with a takeoff cmd with 0 altitude. I think it tries to go to the next way point right from the get-go so if the way point is not above and you are on the grass it will probably tip over (mine did).
Aha! So there is a little problem! The problem is that when the copter reaches home it is trying to point back to it's original heading of North (the direction it was facing in when it started) but it only does this for the time it is flying over home. Once it starts descending it stops turning.
So in your logs, the RTL_LOIT_TIME is only 1200 (1.2 seconds). This means the copter can only turn about 72 degrees (it turns at 60 deg/second).
We should probably change the code so that the copter either continues to turn as it descends or doesn't start descending until it has successfully reached it's final heading.
The short-term solution though is to increase the RTL_LOIT_TIME to at least 3000.
Thanks for the report. issue added to the to-do list here.
That log contains changes to AUTO mode. Did you mean to do that?
I think that's ok. You're graphing what appears in the tlogs and the scale is different from the dataflash logs. So a normal number for X and Y axis would be around 0. The Z axis (not shown in your graph) would be about -1000 (meaning -1 G). So what you're seeing is just small amounts of noise.
Congratulations to the development team, on a job well done! Unfortunately I won't be able to test the new code for a few weeks, I'm vacationing in Brazil and my wife would not let me bring a copter with me. ;-(
Nope. Where did you see that in the log? I searched the log almost line by line but couldn't see the section where it shows flight mode changes.
Plus, I didn't have any defined mission. Would the copter do anything if I switch to Auto mode when there is no defined mission?