Developer

ArduPlane 2.71 released

I've just released ArduPlane 2.71 for your flying pleasure.

As was described in the 2.71-beta thread, these are the major changes from 2.70:

  • prevent control mode changes due to receiver input change when in throttle failsafe
  • auto-scale analog input based on board voltage. This also removes the INPUT_VOLTAGE parameter, as it is no longer needed
  • added TKOFF_THR_MINSPD and TKOFF_THR_MINACC parameters. These allow you to set a minimum ground speed or X acceleration before the motor is started in auto mode. This is to better support hand launching in AUTO mode, and bungee or catapult launching.
  • added TKOFF_HEAD_HOLD option. This determines if auto takeoff will try to hold heading while climbing out. For a hand launch it is often better just to hold the wings level, instead of trying to hold heading.
  • changed FBWB altitude control from elevator to lock in the altitude when the elevator stick is neutral. This fixes a problem with altitude changing in FBWB mode due to slight tuning errors. You can set the climb rate for FBWB with the FBWB_CLIMB_RATE parameter. It default to 2 m/s
  • auto-detect when the compass is way off due to interference and switch to GPS navigation until the compass is healthy again. This is designed to prevent flyaways due to very bad magnetic interference.
  • prevent servo output overflow on large PID gains. This is especially important for elevon aircraft
  • changed default STICK_MIXING behaviour to use FBWA style stick mixing in AUTO mode. This prevents the pilot from causing radical turns if they don't know that the plane is in an AUTO mode. You can get the old behaviour by changing the STICK_MIXING parameter to 2.
  • Added a software VTail mixer, enabled using the VTAIL_OUTPUT option.
  • Fixed loading of missions with DIGICAM control commands, so DIGICAM control works again
  • Don't trigger a GCS failsafe if the GCS has never connected
  • Fixed fence MAVLink target IDs (fixes a problem with AndroPilot)
  • Added HIL_SERVOS parameter to allow real servos to move in HIL mode
  • Fixed an off-by-one in PX4 channel output (last PWM output channel wasn't sent)
  • Fixed scaling of joystick speed when controlling a camera gimbal with a joystick
  • Fixed creation of APM directory on SDCard on PX4
  • fixed auto-config of uBlox baudrate for uBlox modules set to 9600 baud
  • Fixed PX4 startup in FMU only mode
  • Added APM/boot.log on SDCard on PX4

Many thanks to everyone who contributed to this release!

One thing that isn't in this release but will be in the next release is the new L1 navigation controller from Brandon and Paul. They are doing fantastic work and testing is good so far, but I wanted to get the new features above out first before adding the new navigation code. I hope we will release a 2.72 release with the new L1 controller in the next couple of weeks.

Happy flying!

Cheers, Tridge

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

Join diydrones

Email me when people reply –

Replies

  • Hi Andrew,

    Can you tell us how wind estimation algorithm is implemented in Arduplane? I am using Arduplane 2.71 on PX4 and I have disabled airspeed sensor. Even after disabling airspeed sensor it shows different AS and GS on Ground station. Am I missing something? I have not connected airspeed sensor and its disabled.

  • Hi Andrew,

    did you change wind estimation since 2,6x?

    I ask because it seams that it has a kind of latency now, and also worked better before.

    Thx,

    Gábor

  • 300km

    Hi Tridge and co, thanks for the great work as always. 

    Your first point on the major changes list for 2.71 was "prevent control mode changes due to receiver input change when in throttle failsafe". I'm not sure if that is the problem that I'd noticed on version 2.69. Once when I was flying in auto I switched my Tx off and APM switched to manual instead of circle. I did some tests repeating that on the bench and it switched to manual 6 times out of 25 tests (THR FS and short and long FS all =1 and GCS=0). My Rx failsafe setting is throttle at 930 with everything else to the default position. For the mode channel that is manual. It seemed like somehow the APM saw the mode channel in manual position and that overrode/prevented the throttle failsafe action of switching to circle mode. Anyway now with 2.71 I just did another batch of approx 25 tests switching off my Tx and it is much better (but once it went to manual for a moment then to circle, and once it went straight to RTL).

    The other problem, that persists with 2.71, is that the short and long failsafe actions occur whether they are enabled or not (as long as THR FS is enabled). I posted about these two problems a few weeks ago here to ask for help if I was missing something. I wondered if having the Rx failsafe set mode to auto was a sensible workaround, one other said that's what he did. Would this be affected by the change to 2.71?

    I've attached a log of a test/demonstration of the second problem. (At 22:12:09 I disabled short FS, and at 22:13:09 I disabled long FS, but with no effect on the FS behavior.) Am I missing something, or is my failsafe misbehaving?

    2013-04-16 22-09-51.tlog

  • Thank you Andrew!

    I have just uploaded it.

    I will fly it soon! :)

    Gábor

  • I grabbed the lastest source using Git Clone from the code.google.com/p/ardupilot-mega/ repo and it gave me firmware v2.68. Is there a reason why 2.71 isn't uploaded to this repo yet?

  • What is the official way to report a bug with a release?
  • I'd like to know more about the new L1 controller. Is there a page devoted to it?

  • Moderator

    Tested v2.71 on Saturday flying 2 waypoints with a DO_JUMP command (so just repeat the mission). I changed one waypoint half way during the mission moving it to 200m from home and raising it from 50m to 80m AGL.

    The mission can be viewed on Droneshare (http://www.droneshare.com/view/bjqo6as)

    Nothing untoward to report although someone with more knowledge can analyse the logs better than I can.

    The only thing that I didn't like was me forgetting to reset Home Altitude to zero before launch. Wouldn't it be more appropriate if the altitude displayed on the MP could be automatically set to AGL rather than ASL? It's more important and relevant for me to know how high I'm flying above the ground rather than above the sea which is 600km away :)

  • Cheers for the release info, I noticed that the logging issue hasn't been fixed from 2.70, can see there are 8 logs on the apm but unable to download,
    More details here

    http://diydrones.com/forum/topics/starting-with-arduplane-and-a-few...

    Rich
  • So great! I am reading your codes recently.I am absorbed by the codes.

    May I ask a question?

    When I analyze the function stabilize(),I am confused by the control loops.For example,I draw the control loop for the function stabilize_roll():

    especially for get_servo_out():

    g.channel_pitch.servo_out = g.pitchController.get_servo_out(nav_pitch_cd, speed_scaler, control_mode == STABILIZE);

    AP_RollController::get_servo_out(int32_t angle, float scaler, bool stabilize):

    3692684379?profile=original

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    In the control loop there are :kp_angle,_stabilized_gain,kp_ff,kp_rate,I want to know when and where do the parameters assigned the value?

    3692684341?profile=original 

    The value of kp_angle,_stabilized_gain,kp_ff,kp_rate are from GCS?And which one is kp_angle or kp_ff?

    I did not find the _integrator and differential used  in the control loop.

     

This reply was deleted.

Activity