3D Robotics

Another flight test of new ArduPilot 2.5 code

Here's a quick report on today's test flight of the latest ArduPilot 2.5 code, including a failed T3 contest run:

(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
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Did you use version 2.5_01 ?
  • Moderator
    I'm using a EM406 but the results I got aren't conclusive, I will try get a chance to fly again tomorrow.
  • 3D Robotics
    Okay, given the other results, I'm going to say that I didn't test RTL well enough to say anything about altitude hold. Let's assume altitude hold doesn't work across the board, at least for the standard configuration (uBlox GPS).

    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.
  • I can confirm that I have experienced RTL mode failing to hold altitude on 2 different flight days 2 weeks ago when i last had an opportunity for a test flight. I left it circling above me for about 10 minutes and it got high enough to know it was not holding altitude. I should check what my ceiling is here in the UK....

    In stabilization mode it would level out perfectly everytime even from a nosedive.
  • Moderator
    I also didn't test long enough to confirm 100% but here is a simple altitude plot from two flights, black was waypoint/AUTO mode, magenta was RTL mode

  • Developer
    One additional cause of altitude hod not working can be PITCH_COMP set too high. In this case the uav will hold altitude on straight legs, but will always climb while turning because the pitch control loop has insufficient range to counteract the effect of the pitch compensation. If the mission is fairly tight and the uav is turning most of the time then it will be climbing most of the time....
  • 3D Robotics
    I'm actually not 100% sure altitude is working in RTL mode. I didn't test it long enough to really confirm that.
  • Developer
    Yeah, I'm really psyched about the new control law for airspeed/altitude control. I think it will solve these issues.
    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
  • 3D Robotics
    Jani,

    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.
  • Developer
    just talked today with one guy who owns a company that builds car and other asset tracking GPS devices. he said that "you should never trust on altitude from GPS". GPS system it self changes now and then altitude offset, especially when USA is having bigger military events going. Affected area can be even 1/4 of whole globe.
    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".
This reply was deleted.