(I was using an EasyStar with XY & Z sensors)
The Good
--This version does away with the bind plug process for people who are using ArduPilot to control the throttle (which I am). Worked fine!
--Stabilization gains are dialed in fine. Earlier problems with people using the Z sensor are gone.
--Funky motor pulsing issues at startup and problems with ESC arming are gone.
--New GPS parser for uBlox works fine.
The Bad
--Altitude hold doesn't seem to be working in AUTO mode (although it does seem to work in RTL mode). The plane is supposed to stay at 50m, as you can see in the mission file above, but just seemed to go higher and higher. I had to bring it back manually from about 200m. We've had this problem before, and I think it has to do with the uBlox GPS parser. If it thinks the GPS is reporting that the plane is at an altitude of 0, it will just keep trying to fly higher. We'll need to fly with someone watching the telemetry to figure out what's going on.
--I accidentally set my waypoint radius limit too high (59m) so the plane was just approximately following the course. That should have been closer to 10m.
--The RTL loiter circles were more like figure eights. I think the loiter radius (45m) is too tight, and should be closer to 100m:
//4-7
#define LOITER_RADIUS 45 // radius in meters of a Loiter
The Stupid
Somehow I was under the impression that I could adjust the throttle while the plane was in AUTO mode (you can nudge the aileron/rudder and elevator in that mode). That doesn't appear to be the case. The reason this matters is that if you're trying to set a good time on a T3 run, you don't want the plane to leisurely go around at half throttle!
In the meantime, I need to change something in the settings below. I'm thinking I should crank the Absolute figure up, but how high? (Is it 0-10?). Jason, do you have some advice? Any chance we can allow the user to nudge the throttle when it's in AUTO mode?
//ATTITUDE: THROTTLE OUTPUT GAINS
//9-1
#define THROTTLE_ABSOLUTE 3 //Absolute
//9-2
#define THROTTLE_P .32 //Proportional
//9-3
#define THROTTLE_I .04 //Integrator
//9-4
#define THROTTLE_I_MAX 50 // (0-125) 50 = 40% Integrator limit.
//9-5
#define THROTTLE_CRUISE 30 // (0-125) 30 = 24% throttle, or (int)target airspeed for cruising
//9-6
#define THROTTLE_MAX 60 // (0-125) 60 = 48% maximum throttle
Comments
Did anyone test altitude hold with anything other than the uBlox? It would be interesting to know if this is a GPS parser issue or an altitude hold algorithm/gain issue.
In stabilization mode it would level out perfectly everytime even from a nosedive.
I don't know why the current version climbs in AUTO but not RTL. It's really executing the exact same code for both. The only thing I can think of is the RTL gets it's altitude from the current location of the plane and not from a waypoint unless you specify that in the config tool.
Perhaps waypoint altitudes are being read-in incorrectly. Can someone double check those? Does the ground station report altitude and altitude error?
Jason
That's not the problem. We're getting rock solid altitude (+-10m) from the uBlox, and all of our autopilots here, including the UAVDevBoard fly fine with GPS altitude. The problem is that the autopilot is not responding appropriately to it.
So pressure and others are a lot better choice for altitude checking and GPS can be used just as reference if those alues look "normal".