3D Robotics
We've had the ArduPilot 2.6 code in the repository for a while for alpha testers, but it now seems solid enough for wider testing. So it's now available in an easy-to-use zip file for everyone to download and try. Doug Weibel, the main author, has described many of the new features here, but here are some more highlights:

New Features of ArduPilot 2.6:
  • Supports IMU or thermopiles
  • All-new control laws. PI and D for all functions
  • Two fly-by-wire modes: A (with airspeed control) and B (without airspeed control)
  • Designed for ArduIMU code 1.7 if you're using the IMU (upgrade if you haven't already)
  • Support for absolute pressure sensor and magnetometer add-ons to IMU
  • Optional performance reporting; sends IMU quality data (gyro saturation, etc) to ground station
  • Experimental support for autonomous takeoff and landing!
Some of this is documented in the code and the configuration comments. I'm in the process of updating the manual to reflect all the 2.6 changes, so please be patient for the next few days until I'm done.
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Developer
    @Cholo - vibration can be a very big concern with the ArduIMU hardware. Try some ground tests if practical. Hold the plane with the engine running and watch the attitude telemetry. Slowly sweep through the throttle range and watch for the attitude to deviate from the actual attitude of the plane. I have seen deviations of 30 degrees due to a badly balanced prop on a small electric plane, so if you are using a gas or nitro engine you may have to work with getting the airframe as smooth as possible and then mounting the IMU in a suitable manner to dampen vibration.

    On the RTL issue if you can use the latest 2.6 code in the repository and set GCS_PROTOCOL 1 to get the alternate telemetry stream I would be happy to look at the data and help you debug.
  • Developer
    Delete Comment Hey Doug,
    I flew 2.6 for the first time today and it went great. I haven't flown waypoints yet; just rtl, loiter, fly by wire A, and stabilize. Everything worked with the default gains. I did, however, make a mistake and forgot to disable the airspeed sensor which didn't have a pitot tube on it. When I went to RTL the plane went wild which I quickly diagnosed as the throttle going full on. Otherwise everything went great.

    Chris had some trouble because he was using a Z sensor. We disabled it and were able to fly normally. I think the sensor's scaler value isn't getting set properly. I will change the code to make that more reliable.

    Overall it worked great, so thanks!
  • Developer
    Sure, we can do that. I'll probably change IMU to match AP, since AP was first.

    Done - R128 of ArduIMU
  • Developer
    Sorry about that! It was some unfinished code that I was working on. I commented out the offending pieces. It shouldn't affect any current behavior which is why I forgot to compile before uploading.
  • Developer
    1067 is some changes Jason Short uploaded today. Looks like he didn't try compiling after merging his changes.... I'll go through it and clean it up when I can, but it won't be tonight...
  • I got compilation error that max_roll and stabilize AP() "was not declared in this scope" (main ArduPilot_2_6 sketch). This is for r1067 code
  • Developer
    @cholo - you are using the IMU, correct? If that is the case you could get some useful info on the bench. Just hook up the TX and ground pins on the serial header to a FTDI cable and you can "log" stuff in the serial monitor window. Turning on GCS_PROTOCOL 1 will print some of the lower level variables which is very helpful for debugging.
  • Developer
    I have some strong suspicions about REVERSE_ROLL and REVERSE_PITCH myself. I have never tested with that setup myself and most people seeming to have problems have one or both set for reversing. Can you try setting GCS_PROTOCOL 1 and record some telemetry? That would be helpful.
  • Developer
    @Cholo - did you add the 2nd jumper wire on the bottom of the board for throttle? What do you have THROTTLE_MIN and THROTTLE_MAX set to?

    When you switch to RTL are you possibly well above the set RTL altitude, and therefore properly going down? Try setting a waypoint with a high altitude and see if you go up when switching to AUTO....
  • Developer
    @HK - so you had to move the call to the NMEA parser to the 50 Hz loop? Sounds like there is something that could be optimized/fixed in the parser. We shouldn't have to call the parser at 50Hz to get a couple messages a second.... I'll look when I have time - you may have to remind me. (I'm stealing a few minutes from work now...)
This reply was deleted.