I’m very nervous when maidening a heli, partly because of the harm it can do if things go wrong, and partly because it’s old enough that parts are not easy to come by
So, having got everything set up in the workshop with an mRo Pixracer R15 and Arducopter heli 4.1.1 on my TRex 500, I’m a little concerned that the corrective movements of the swash and tail which I observe when I tilt and turn the model by hand on the bench are much smaller than I’m used to seeing with a BeastX. The tail movement in particular is almost unnoticeable.
The Roll/Pitch Sensitivity slider in the MP CONFIG page is set at default 0.0240, which according to the note means it’s at the safe/sluggish end of the scale. But that presumably doesn’t directly affect the operation of the tail. My tail type is set up as “Servo only”, as I’m relying on the R15 to provide the gyro function. All my ATC_RAT_YAW_ values are currently at default. Is there another parameter I need to adjust to make the tail seem more reactive when I turn the heli?
Totally understandable. In most cases though the first flight for helicopter is uneventful compared to the first flight of a multicopter. If you would like, I would be willing to check over your parameters before you do your first flight. Just post them here.
Don’t use this slider to set parameters. I have not verified what these sliders do to the parameters and how it would affect the helicopter. I would stick with the extended or full parameter list for making tuning parameter changes.
Thank you Bill. Your observation about the first flight is interesting – I look forward to being able to prove it. My hex with Aruducopter flew straight off the bench, without needing any tuning. Wind is forecast to be good in a couple of days, so maybe then.
In the meantime I’ll post my parameters file here tomorrow afternoon (UK time).
Here’s the parameters file. Any comments about the values would be appreciated. The heli is a TRex 500 with stock blades, and Talon 90 ESC set for 2100rpm. No warnings show in MP home page screen, and it arms properly once it’s got 3D GPS fix.
It was bitterly cold this afternoon, but sunny and only a light breeze, so I took the heli out for its maiden Arductopter flight. A few things need adjusting – collective stick was about 60% for steady hover, response seemed a bit sluggish, and I was having to hold a bit of right roll all the time – but I flew a full pack (7 minutes) without any other issues.
I’m planning to increase the governed head speed to 2200rpm (it sounded a bit slower than the non-governed speed I’ve been using in the past), which should improve the hover stick position and, maybe, the sluggish response. I’ll check the level calibration in MP, but is it possible that the heli was drifting left because it was not quite level when it was powered up and initialised?
I didn’t try loiter or RTL yet. I’ll leave that until I’ve got it hovering to my satisfaction, and a day when I don’t have to wear gloves!
I checked level calibration back at the workshop, and realised my workbench surface is not quite level. So I levelled the heli with a spirit-level and recalibrated the level setting in MP. I’ll check out ATC_HOVR_ROL_TRM if it’s still drifting.
@abenn1 i am sorry that I never got back to you regarding your parameters. I just took a look at them and I have some recommendations
Set FS_CRASH_CHECK to zero. This is a multicopter thing and really doesn’t help heli’s.
I saw that you thought that the aircraft felt sluggish. That is the default tuning. It has way too much I gain (ATC_RAT_PIT_I and ATC_RAT_RLL_I). Here is what I would suggest
ATC_RAT_PIT_VFF and ATC_RAT_RLL_VFF to 0.15.
ATC_RAT_PIT_I and ATC_RAT_RLL_I to 0.1.
ATC_RAT_PIT_ILMI and ATC_RAT_RLL_ILMI to 0.08.
This will have a much better feel and it should fix the issue with having to hold in roll control to keep it from drifting. If you see the aircraft start to oscillate quickly then you can set the ATC_RAT_PIT_P, ATC_RAT_PIT_D, ATC_RAT_RLL_P and ATC_RAT_RLL_D to zero and that should remove the oscillations.
Ultimately the next step is to tune the Rate P and rate D gains for all axes as described in the tuning wiki. Then you can move on to trying althold and loiter.
Thanks Bill, I’ll implement your suggestions. The wind is forecast to pick up again a bit for the rest of the week but, now that I know it’s basically stable, that shouldn’t stop me test-flying the changed parameters.
I’ve just come back from a test flight with head speed increased to 2200, copter accelerometer re-calibrated, and the ATC_RAT_ values that you’ve suggested. Sluggishness is gone, I didn’t have to hold any roll, and there weren’t any oscillations, but pitch is a bit twitchy for my liking, and the throttle stick is still just above the halfway point in a steady hover.
I’ve read through the Ardupilot descriptions of the parameters, and the traditional helicopter tuning guide, and still don’t really understand what they do, so I’m planning to move ATC_RAT_PIT_VFF and _I values a bit closer to the default values than the ones you suggested – 0.12 for ATC_RAT_PIT_VFF and 0.12 for ATC_RAT_PIT_I since the tuning guide suggests they should have the same value.
So the big thing with tuning is to ensure the actual attitudes are closely following the desired attitudes. If that is good then you have to adjust the feel parameters if the aircraft feels too sluggish or quick. These are ATC_INPUT_TC, ATC_RATE_X_MAX and the ATC_ACCEL_X_MAX. ATC_INPUT_TC affects how quickly the aircraft achieves the steady state attitude. It is a time constant which describes the rise time for attitude to achieve 63 % of its steady state value. A simple rule is to multiply it by 3 to determine how long it takes to achieve steady state. For example if your ATC_INPUT_TC is 0.15 seconds then it will achieve steady state in 0.45 seconds. 0.15 seconds is a little quick for my liking and 0.18 or 0.2 may feel a little more natural. ATC_ACCEL_X_MAX and ATC_RATE_X_MAX will also affect the quickness of the response and can slow the time to achieve steady state if set too low.
ATC_ACCEL_X_MAX are the max accelerations that can be achieved in each axis. Generally I would set this to something achievable by the helicopter. What you have is probably fine. ATC_RATE_X_MAX is one that could help with sensitivity of the response if you feel the rates are getting too high in the response. The big thing though is making sure that the actual attitudes are following the desired attitudes to within 2-3 deg. If not then the response you’re seeing may be due to a poor tune.
The default values of _VFF and _I for pitch and roll have no basis for how heli’s are currently tuned. I have left them as the defaults up to this point because I wanted to be certain of my tuning technique before changing them. I agree that you could move the _I gain closer to the _VFF but _VFF needs to be set as described in the tuning guide.
Thanks Bill for the time you’re taking. One thing that confuses me is the mention of ‘defaults’ – the default values I see when I go into the parameters in MP are not always the same as the values which the tuning guide shows as its defaults. The other thing I can’t get my head around is, despite the detailed explanations in the tuning guilde about how the system works, it doesn’t tell me what the end effect of changing values is.
Anyway, with your help I’ve got a good starting point which make the heli manageable for me, so I’ll just take it one step at a time going through the tuning guide, starting with the ‘sharp stick inputs’ tests for _FF and _MAX roll and pitch parameters.
You are correct. They aren’t the same between the wiki and the defaults in the firmware, especially for VFF and I gains. The values in the tuning guide are better than the firmware defaults. The firmware defaults are what I’m intending on changing in the future now that I’m more confident that my tuning technique is the right approach.
The whole goal of the tuning process is to get the actual attitudes to closely match the desired attitudes. It would take a phone conversation and a beer to discuss how each of those affects the tuning of the response.
Thanks Bill. When I get some half-decent weather I’ll be doing a ‘sharp stick input’ test and checking out the log results.
I’m not sure how phones and beer go together, and I suspect you’re a little too far away to make a visit to my local pub (or vice versa) In the end I guess the best learning is from experience, and with a solid list of good starting parameters in the tuning guide and your posts, I should be able to figure it out without too many mishaps.
Today I managed to carry out another flight test. From my past experience with the same heli with a flybar and no stabilisation, and flybarless with BeastX stabilisation, I was wary of making ‘sharp stick inputs’, but Arductopter did its job and, even with full stick deflections, the heli didn’t roll or pitch more than whatever’s specified for stabilised mode. The pitch sensitivity was more to my liking, having set _VFF and _I to 0.12 following my first flight.
So now to understand the logs: I’ve plotted DesRoll and Roll, and the curves match reasonably well, with Roll exceeding and lagging DesRoll a little. The tuning guide says to reduce the FF gain in this case, do they mean the ATC_RAT_RLL_VFF? Mine is currently set at the default 0.15, so are we talking about a reduction to 0.14, or more? DesPitch and Pitch also differ the same way. I’ve tried to attach the log from the 7-minute flight, but it’s too large apparently, so I’ve attached screenshots of the relevant sections. The Desired lines are red, and the actuals are green.
I’ve been following the Traditional Helicopter - Tuning guide and having reviewed last week’s log (which you may not have seen because I hadn’t figured out how to upload it) I reduced ATC_RAT_PIT_VFF from 0.12 to 0.11 and ATC_RAT_RLL_VFF from 0.15 to 0.13 because actual roll and pitch were both above desired. This week the delta between desired and actual pitch has reduced slightly, but the delta beween desired and actual roll is increased on the negative side, and decreased on the positive.
The heli feels alright to me, but does this data suggest that it has mechanical and/or setup problems, or am I simply looking for too close a match between desired and actual?
Here’s the parameter file, and a link to today’s log file.