ArduCopter version 4.2.0 beta testing has begun. Sorry that I haven’t written sooner about this.
Currently 4.2.0 beta 2 is out for testing which was announced here. I have been working hard to finish documentation for the autotune feature that will be released with this version of software which is why I delayed announcing it here.
Here are the features that version 4.2.0 contains
- Autotune mode
- Improved rotor governor (requires users to retune)
- New Collective set up to ensure consistent setting of landed collective defaults (requires user setup before first flight)
- Cool down timer added to rotor speed controller for internal combustion engines and turbines
- Feedforward parameter name changed from VFF to FF
- Attitude controller parameter defaults changed to improve new user initial set up
If you are a seasoned veteran of ardupilot and feel comfortable testing beta software, please take the time to test the new features and provide feedback either here on the tradheli topic or in Copter 4.2. Below are more details on each of these changes.
New to arducopter is an autotune feature for traditional helicopters. This mode offers many options to tune the rate controller FF and PID gains and attitude controller P gain. Please take the time to read through the wiki and watch the videos before attempting autotune. It is well worth your time to understand how the tuning is performed as it is very different from multicopter autotune. You can read up about it here. Start with the preparing for tuning wiki before moving on to the autotune wiki.
New Rotor Governor
The new governor is similar to the previous one in that it maintains desired rotor speed through a proportional controller adjusted through the droop compensator and a feedforward controller that uses the throttle curve to help respond to sudden loading and unloading of the rotor system. The new governor now handles changes in environmental conditions and even changes in the desired RPM from the nominal settings for which the throttle curve was originally tuned. This is accomplished through the torque compensator which adjusts the reference from the throttle curve to maintain the desired rotor speed. The governor is designed to maintain the desired RPM within the governor range. If the RPM falls outside this range for more than 0.5 seconds, the governor will declare a fault and the throttle output is reverted back to the throttle curve. Also new for this version is the use of a torque limiter to adjust the rise of torque during rotor spool up to smoothly engage the governor. Details of the new governor and setup can be found in the wiki.
The collective setup has changed to improve the setting of the minimum landed collective. This is the collective setting that the autopilot cannot go below while landed when in a flight mode that uses altitude hold to control the collective. In 4.0 and 4.1, the H_COL_MID parameter was used to specify this setting and caused confusion and some in-flight motor shutdowns. So the minimum landed collective was brought back. However unlike before where it was specified in PWM, it is now specified in degrees. With the new collective setup, the user specifies the actual collective blade pitch in deg that corresponds to H_COL_MIN and H_COL_MAX. The zero thrust collective and minimum landed collective are specified in degrees and the autopilot determines these in PWM, instead of the user. It uses a linear interpolation to determine these settings. This is a big improvement because now the defaults are meaningful and the user doesn’t have to set them if they don’t want to. leave them at the defaults and the autopilot will take care of it. The collective setup page was modified to describe this new setup.
Cool Down Timer
A simple cool down timer was added to the rotor speed controller (RSC) logic. It sets the idle to 50% higher during the countdown of the cool down timer. For this to work in autonomous situations, the Runup timer has to be set longer so the aircraft remains in idle, otherwise the aircraft will be disarmed after the runup timer counts down.
Rate controller feedforward parameter changed from _VFF to _FF
Please be aware that the _VFF parameter name was changed to _FF to align with the multicopter codebase. The functionality of this parameter has not changed, just the parameter name. One thing to remember is that any parameter files that were saved from previous software versions will not load the feedforward parameter to this new name. Therefore the user will have to either modify the parameter file or enter the FF parameter values manually.
Attitude Controller Parameter Default changes
Certain Attitude Controller parameter defaults were changed as the original defaults I found to not provide a good initial tune. The parameters whose defaults have changed are listed below
ATC_RAT_RLL_FF, ATC_RAT_RLL_I, ATC_RAT_RLL_IMAX, ATC_RAT_RLL_ILMI, and ATC_RAT_RLL_FLTT
ATC_RAT_PIT_FF, ATC_RAT_PIT_I, ATC_RAT_PIT_IMAX, ATC_RAT_PIT_ILMI, and ATC_RAT_PIT_FLTT
ATC_RAT_YAW_IMAX and ATC_RAT_YAW_FLTT