ArduCopter 3.0.1 has been released and is now available in the Mission Planner, firmware.diydrones.com, GitHub and the new Downloads Area.
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:
- Inertial Navigation for Loiter and Auto meaning much more accurate control (Randy,Leonard,JonathanC)
- 3D navigation controller follows straight lines in all dimensions between waypoints (Leonard,Randy)
WPNAV_SPEED, WPNAV_SPEED_UP, WPNAV_SPEED_DN, WPNAV_ACCEL allows configuring speeds and acceleration during missions
- "compassmot" to compensate for interference on compass from the pdb, motors, ESCs and battery. (Randy,JonathanC) (Set-up video here)
- Safety improvements:
- simple Tin Can shaped Geo Fence
- pre-arm checks to ensure all calibration has been performed before arming (can be disabled by setting ARMING_CHECK to zero). (video description here)
- GPS failsafe - switches to LAND if GPS is lost for 5 seconds
- stability patch improvements to stop rapid climbs in very overpowered or overtuned copters
- Circle mode improvements including "panorama" when CIRCLE_RADIUS set to zero (Randy,Leonard)
- SONAR_GAIN parameter added to allow better tuning of sonar surface tracking
- CH8 auxiliary switch (same features as CH7)
- works on PX4 (some minor features still not available) (Tridge,PatH)
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.
4. Although not directly related to this release, if you purchased an APM prior to March of 2013, update your PPM encoder to the latest firmware (instructions here).
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.
Replies
Testing again 3.1-rc2.
I did notice that INS_MPU6K_FILTER is default as 0 zero, when installing the firmware after on a reset/erase on APM2.5.
Is that normal to be zero as default? Usually I did have it as 20 in previous releases.
Also I did notice that the vertical speed on Auto is like 2x slower on 3.1-rc2 comparing to 3.0.1, although WPNAV_SPEED_UP is 250 on both. Something is weird.
I can increase this value, but I would like to know the correct value.
I am doing missions at 80m altitudes like this and time to arrive as such altitude is like almost doubled.
I'm going to pop this processor loading thing up into a new reply. Joe Abrams has questioned the validity of my testing, in a somewhat disrespectful way, over at RCG (along with his snarky comments here). Also, I want my findings to NOT be true. So I am offering a bounty of $50 to anybody who can prove this is NOT a real problem, and show me where I've gone wrong. Seriously.
First, I'll present my test methodology:
The problem started when I was trying to use my H8 for a specific video shot, which is nothing more than a simple climb to altitude while holding position. I have the camera on an AlexMos type gimbal, and I've got the Camera Mount running, but only in a minor way. I'm simply using it to do Ch8 to Ch11 pass-through, without even any stabilization, in order to simply control the pitch of the AlexMos. I've been struggling with poor performance of Alt Hold for a while, fiddling with the PID, and could never get it where I was happy with it. On Tuesday was the first time I tried using Simple mode in Loiter, and the results were quite bad, so I stopped until I could figure out what was wrong.
So on Saturday, I took my Nerf Quad (a Tarot F450 frame) and started doing a specific test, in a controlled manner, to load up the processor. The first problem was that it's a quad, not an Octo. Randy had a good idea to program it as an XOcto or Octa-Quad. You can do this easily if you just switch motor wires 2 for 3, it's obvious when you look at the motor matrix that you can do this.
So that's what I did. A series of tests, in Quad mode, and in XOcto mode, while turning various features on and off. Each flight I attempted 2 climbs in Alt Hold mode, and 2 climbs in Loiter. Then I would download the logs and have a look. Pretty simple. You will find all of my data logs here, and you will find all the log titles fairly descriptive:
https://drive.google.com/folderview?id=0BzWH4Q7IAU5YSnBOS0FkdXBlX3c...
Here's sort of how I got started on this path. Early on, I noticed that the climb rate was different between Alt Hold and Loiter. This, despite the fact that they use the EXACT same controller. Obvious I was holding full up throttle in both tests, and you can see the DCRate which is Desired Climb Rate, is exactly the same in both.
So why is that? It's because of this line in the Alt Hold controller:
controller_desired_alt += target_rate * 0.02f;
That 0.02f is the rate that we are integrating the target rate. It's a hard-coded assumption that this function runs 50 times per second. If that function were not to run 50 times per second, then the target altitude would not increase at the desired rate, and the actual rate will fall behind the target rate. So that was my first clue that the Alt Hold controller was not running as often as it should. The AH controller is run under the "50 Hz loop". But this controller does not necessarily run at 50 Hz. It tries to, but it will get the boot if the processor is running too slow for the main 100Hz loop to run at 100 Hz.
I proved this out by hacking up the program such that the AH Loop calculates how often it is being run, and replace that 0.02f with the real rate it's running at. Now the WPAlt should ramp up at the correct rate. This test is contained in the datalog with "timer" in the title. So here you can see that this fixes the ramp rate problem.
But this just masks the problem, it does not solve it. The problem is not the climb rate, that is just a symptom of the problem that the 50Hz loop is not running fast enough. And that was in Quad mode! So, I kept going, to see how bad it gets.
Here you can see some tests with a Quad. I can actually infer what rate the 50Hz loop is running by looking at the actual climb rate. In the first example, it climbs at 200 cm/s in Loiter, with a target at 250 cm/s, so I would guestimate it's running at about 40Hz. With Mount turned on, it appears to be running about 38Hz.
Ok, so what about Octos?
Well, first we have an XOcto, without Mount or Simple Mode. Doesn't look too bad, but I can see the AH is only running at 20Hz!:
Now, let's turn Mount on. Uh Oh! Look at that Baro. You can hear the motors surging. This is because as the processor slows, the scheduler starts booting Baro Accumulate, which is what filters the baro:
And finally, we come to XOcto with Simple and Mount running. This is where the process completely breaks down. Look at the baro data! It's gone to hell, and it's dragging WPAlt with it! This thing tried to fly away, fell to the ground, all sorts of stuff. I tried running this test several times, but it kept crashing.
All of this testing was done with the EXACT same machine, in exactly the same environmental conditions, over the span of about 2 hours.
I'm testing 3.1rc2 for 3 days. Everything was perfect. But today;
Loiter was engaged full time at the video it flew unknows location with 11 sats and 1.47 hdop. My gps working 5hz but i saw gps time strange jumping. This may be a problem?
https://www.youtube.com/watch?v=4WeM1KJRVtE&feature=youtu.be
2013-09-28 22-37 59.log
Hi All,
Little help please..
Thanks in advance.
Waladi
Testing yestarday a 10 waypoint mission with "APM Copter 3.1-rc2" (VR Brain poerting version "3.1.5"), perfect result, here the view from the fixed cam with MinimOSD-Extra:
Bests, Marco
I had some "let's fly to Timbuktu" events with 3.01 so I upgraded to 3.1rc2 to see whether GPS glitch prevention would make a difference
Did all the calibrations and compassmot, all results looking good
Having tested all modes (all fine) I let it fly a very simply 4 waypoints mission (log attached). En route from 2 to 3 it apparently fell out of AUTO mode, turned left 90 degrees and went its own way. I managed to catch it and land without a problem in Stabilize mode. If I read the log correct my satcount dropped to 7 (from 12) for a few seconds - this however should still be a solid 3D fix ? So why drop out of AUTO mode ?
Just to make sure I rebooted and flew the exact same mission again immediately (second log attached). This time no problem at all
Really not sure what my problem is here
appital_not_ok.tlog
appital_ok.tlog
Boxcopter flying 3.0.1. Stabilize is good, Alt Hold is good, but loiter is weird, it kind of dances, up and down on the corners. Not sure what it could be. Did a compassmot and got 38. I also tried pushing the throttle hard and I notice a dip on one of the motors, it did not rise evenly up into the air. Anyone have any ideas what's up?
I've attached 2 logs for review. 9/25 shows vibration with IMU enabled and 9/28 shows motors enabled.
Thanks,
Richard
2013-09-25 08-20 6.log
2013-09-28 15-35 1.log
On before yesterday, I have test error Land on RTL mode with Arducopter 3.1-rc2. It very perfect have error 1 meter only.
Balloon
Bangkok,Thailand
I just loaded 3.1 RC2 and wow. This was the first quad i have allowed to auto land. It was gusting up to 12-15 mph winds too. Great work.
@Randy,
Would you mind looking at my logs and letting me know what I might need to adjust to get it better... Thanks
.
2013-09-28 11-09-35.tlog
2013-09-28 11-09-35.rlog
2013-09-28 11-26 1.log.gpx
My testing results after today upgrade to beta 3.1rc2 (after 3.01)
-I did redo Compass Mot, result was 23%
-I did redo Compass Calibration - the danse on each direction and position
-Arming did start motors rotation - nice feature
-I did takeoff as usual in Stabilize and I was REALLY impress with the stabilization, comparing to 3.01.
-AltHold was the same for me, stable, not jumping
-Loiter... Initially I said... this release is perfect... but after 1 min of Loiter, it starts the "toilet bowl" moving... I said, maybe need some more time. I never had "toilet bowl" in 3.01.
-Land Auto was nice and stable
-Change a new battery and try again Loiter: the same, 2-3 min really stable, but stable, then is start "toilet bowl" with circling increassing, altitude was OK.
-Then I did try an Auto, I know, Auto is like Loiter, GPS dependency...
-First 2 WP under 2 min to fly was good, but before reaching WP3, at 200m far... Auto did start to be eratic, again like "toilet bowl". I said, this is not good and I was affraid I will lose the copter or crash, not easy to see it visual at 200.
With 3.01 I did more than 50 Auto missions at 400-500 far from Home, never had a problem.
I did try RTL and this was a mess... start to fly away...
I did jump and put my goggles (were already connected for FPV) and I was able to bring it back.
In 3.01, ALWAYS when I put RTL I did remove the goggle, because ALWAYS it returned safe to home.
Now I am affraid to fly any Long loiter or Auto.
Any idea?
Now I just reset/erase the APM and reinstall from scratch the 3.1rc2.
I did calibrare the Accel/Level and tomorrow I will redo the compass mot and Live calibration and see if this help.
There was NOT any hardware change between 3.01 and 3.1rc2.
----
Quad copter, APM2.5 (internal compass), 3DR power module, uBlox 3DR GPS
-
19
-
20
-
21
-
22
-
23
of 42 Next