I'm new to the ArduPilot, and trying to tune gains for the first time. I've got the plane flying pretty well in stab mode, but when I switch to FBW-A it is extremely lethargic. It flies straight and is stable, but a full stick-deflection in roll only results in a few degrees of bank. The bank limit was set at 35 degrees and I bumped it up to 45 degrees, but can never reach the limit. Is there something simple I'm overlooking? Thanks.

Views: 2344

Reply to This

Replies to This Discussion

I've had this same issue on all of my X8 wings running apm2.5. Aircraft with nearly default PID's navigates beautifully in auto mode. I wanted to work on the fine tuning so I followed the wiki on tuning PID's. Spent a bunch of time trying to get FBW rolling to 45, the first step after confirming manual flight.

Came to the conclusion that somewhere in the software the elevon mixing for FBW must be affecting us. I believe that the software was "taking the difference" between the max pitch up angle of 15 degrees and max bank of 45 degrees. I could only get about 25 degrees of roll in FBW despite the fact that I have huge elevon travel. (look at the radio calibration screen while moving your sticks to see what I mean) If you move the stick all the way left, you do not get full travel of the roll channel. You have to move it left and down to get 100% travel. I haven't tried to modify the radio calibration procedure, maybe we should just move the sticks full left-right and up-down during the calib? (not to the corners) 

Luckily it works great in the important AUTO and RTH modes. Now I just use FBW to test the nav gain.

I put the APM in a FinWing Penguin over the weekend, and with pretty much default gains, I had perfect control authority in FBW-A. I'm wondering now if the authority I was seeing came from aileron-rudder mixing. I planned to do another flight with mixing turned off, but it started to rain. I electronically mix rudder in the transmitter, and also have mixing turned on in APM so that when the aircraft banks it corrects with both aileron and rudder. (I do not have any servo yaw gains, as this has now effect on dynamic yaw motions and goes in the wrong direction for bank corrections. I couldn't figure out how to switch that.) Since there is no option of rudder input with the flying wing, this might explain it. This is pure speculation though. Hopefully I'll get some more testing in next weekend.

I planned to try NAV mode, but the rain wiped that too. I did try FBW-B and experienced results that I don't quite understand. I think the default speed range was something like 8-22m/s. The aircraft actually cruises at about 6-8m/s. When I first switched to FBW-B the aircraft went to full throttle, picked up a ton of speed, and then started to climb like a banshee. I modified the speed range to 4-10 m/s, set cruise speed to 8m/s and limited throttle to 75%. With this it went to 75% throttle and still climbed. I had cruise altitude set at 100m, but it climbed right through that and kept going. Speed was limited to about 10m/s. I tried introducing pitch commands, and it seemed to pass them through pretty well, but when I pulled up - throttle was cut, and when I pushed down - throttle increased. I thought that this might be backwards, as my first interpretation of the FBW-B description was that the aircraft would hold altitude at the commanded cruise altitude, and then modify the altitude with stick inputs, i.e., if I pulled back on elevator it would climb to a higher altitude, and hold that, and with down elevator it would descend to a lower altitude and then hold that. That is what I am used to with this type of aided manual mode with other autopilots, and I guess that influenced my interpretation of the mode. After reading the description again, another interpretation might be that you can use manual pitch inputs in FBW-B to see if the throttle control loop works correctly, with throttle linked to altitude. The aircraft was trimmed slightly nose up, which might account for the climbing, and it's response to manual elevator inputs was technically correct - kill throttle if we're climbing and add throttle if we're diving. This seems strange though, as FBW-B requires use of the Pitot-static tube which measures airspeed. Use of airspeed usually implies that there is an elevator to speed loop, but this did not seem to be the case.

Hi Kevin

I had this same problem on my first flying wing. I made the mistake to have servo 2 on the right wing and servo 1 on the left wing. on flying wings the servo output channel 2 must be used for the left wing servo and 1 for the right. once I have switched it it worked nicely.





Thanks for the suggestion. We do have the surfaces reversed from what is shown, but interestingly, with a newer version of ArduPilot it works in all modes. I can't recall why we had the surfaces switched, but think it had to do with the native configuration in the Spektrum RC gear we were using. I think we couldn't get manual functionality working right with the servos switched. Might have to revisit this.

Thanks again.


This is a good info- but the problem isn't solved by doing everything on that page. Specifically- I have almost no pitch control when in FBWA- the instructions you posted don't mention anything to do other than "work on pitch in a similar manner."
I am not getting any response from the APM when I try to pitch up or down in FBWA. It rolls fine. I have no idea what to do to fix it?

  1. If things still aren't quite right in FBW, look at your settings for LIM_ROLL_CD, LIM_PITCH_MAX and LIM_PITCH_MIN (the units of all of them are in hundredths of a degree). If you move the stick to the extreme right the plane should go into a bank of angle LIM_ROLL_CD (and stay there). Does it do this? If it gets there slowly increase the roll servo P gain. If it oscillates in roll decrease the servo gain. Work on pitch in a similar manner. The goal is for the plane to respond in pitch and roll in a crisp manner to your stick inputs. Work on this without worrying about the other gains until when you flick the stick and hold it to the side the plane will respond crisply and as quickly as in manual flight. You will likely only need the P gain, but some airframes will need I gain to hold the desired bank angle well without steady state error.

I think this issue has been resolved for us, although not sure I can pin-point the exact nature of the fix. It was several major software revisions ago that I posted the first entry on this, so it is possible that software resolved it. We hadn't revisited FBW-A since that first entry, and had focused on STAB mode instead - which we have been heavily discouraged from doing.

We also had the left elevon plugged into channel one and the right plugged into channel 2. This was required when we were doing mixing in our Spektrum DX8 transmitter, as we couldn't get the surfaces to move right until the channels were swapped. The latest software provides a new elevon mix tool that takes un-mixed values from the Tx and performs the mixing in APM. This allowed us to swap the elevons onto the channels as shown in the link in the previous post. I do not understand how this switched-channel problem would play into lethargic FBW-A flight, as we can clearly see the corrections on the surfaces when the aircraft is pitched and rolled, and they are all correct.

With this setup and after opening up our min/max pitch angle limits to larger values, we now get quite good control authority in both pitch and roll. One note, make sure you calibrate the radio with stick deflections exactly as they are in flight. For example, if you normally fly with dual-rates turned on the soften up the controls, but you calibrate the radio with the full throws, when you fly in FBW-A mode with the low-rates enabled, you will not be able to reach the pitch/roll limits that you included. We generally were not able to achieve the max pitch limits, but were close. This was true for both climb and dive.

Hope this helps others with flying wings.


Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service