Posted by Jason Short on December 18, 2009 at 9:00pm
I finally had some quality time with the Ardupilot Airframe Tester in the air and would like to report, after a few bug fixes and tweaking, I finally have a nice solution.Why this matters and why you should fly it:- It will help you set up your plane properly and give you vital debugging information.- It will help you adjust your stabilization gains- It is a very nice flight stabilizer- It will let you test your Autopilot setup (more on this below)You can read this post to learn about the debugging aspects.What I really wanted to explain is the new Fly-By-Wire mode. It essentially lets you input the relative waypoint location in space, and the plane will try to go there. Now, other than being fun, it is really helpful for debugging and adjusting your gain settings.The new FBW input is proportional and controlled with your radio:Hard right = waypoint is 35° to the right; centered = waypoint is dead ahead; left = -35°Hard up means the waypoint is below you (hey, you can reverse that if you want.) Centered means the waypoint is at the same altitude.While in FBW, the airspeed controller will try and maintain a constant airspeed.Here is the last beta. After this the tester will be final and appear in the download section.Ardupilot_25_Airframe_test_beta4.zipA note about radios - In the header file you can specify radios. Futaba Faast radios can be scanned at 50hz and others at only 25hz. This has to do with how they setup the signals. So there is an option in the header file to use Fubata or other radios. Default is "other." (Spectrum's won't work with the Futaba setting. You need to specify 'other')The events.pde file contains the code for managing your radio's 3 position switch. Instructions are in there as well.The full version of 2.5 should be right around the corner.Jason
Well,
I think this is really for people who want 2 specific bits of functionality.
- Throttle control during stabilization
- Throttle based radio failsafe detection
If those are really important, I say clip pin 13 to the shield and live without the status LED.
If you do not want the functionality. Change the THROTTLE_IN define to 0 and you should be OK.
Jason, regarding the pin 13 problem, my jumper is soldered just like yours (on the main board). But pin 13 is automatically connected to the shield when that's attached, which causes the problem you describe. What do you suggest we do about this?
Hi Graham,
There are two sets of trim settings now. One for your radio and one for the misalignment of an IR sensor. If you get your IR sensor mounted and it's off by a few degrees, you can enter that in and forget about it.
My plane is always flying slightly differently after repairs and crashes, so I leave the radio trim sequence on to record the trim positions of the radio and saves them each flight.
As for the radio debugging, thanks guys for the information! I've been hoping to get more feedback as each radio has its own quirks and I've only got a Futaba 7C. Even then Chris is having some difficulty. We'll get this ironed out before the final release and generate a list of known radios.
Chris, I don't have my pin 13 connected to the shield. I just put a wire directly into the hole on the main board. Maybe there is another LED on the shield causing the signal to drop below voltage ref, which would impair the 328's ability to read input? Actually I just looked on the board and there is.
Scott, you have a Spektrum? Can you see the define where it mentions radio type?
#define RADIO_TYPE 0 // 0 = fataba Fasst, 1 = Spektrums or other radios
Spektums apparently can have multiple orders of PWM output so this is a tough one to support. Jordi was able to get the code running on his spectrum by adding in some code that takes three passes to read the input.
Let me know if that works for you.
Just an idea, can the servo twitch after calibration be slower or in steps so it doesn't appear like interference? (I thought it was the first time it happened :-))
Chris
With shield removed, and the throttle at the lowest settings, I get
Waiting for Radio
No throttle input detected
Radio IN: R:1448 E:-24 T:-24 Analog IN: 0:511, 1: 511, 3: 511 S
ensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500
T:1008
Reading radio limits:
With throttle in middle position and the shield is off I get this
Waiting for Radio
No throttle input detected
Radio IN: R:1448 E:-24 T:-24 Analog IN: 0:511, 1: 511, 3: 511 S
ensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500
T:1008
Reading radio limits:
I have not been able to replecate your message
Waiting for Radio
R:1497 E:1497 T:1485
Comments
Waiting for Radio
No throttle input detected
I think this is really for people who want 2 specific bits of functionality.
- Throttle control during stabilization
- Throttle based radio failsafe detection
If those are really important, I say clip pin 13 to the shield and live without the status LED.
If you do not want the functionality. Change the THROTTLE_IN define to 0 and you should be OK.
There are two sets of trim settings now. One for your radio and one for the misalignment of an IR sensor. If you get your IR sensor mounted and it's off by a few degrees, you can enter that in and forget about it.
My plane is always flying slightly differently after repairs and crashes, so I leave the radio trim sequence on to record the trim positions of the radio and saves them each flight.
As for the radio debugging, thanks guys for the information! I've been hoping to get more feedback as each radio has its own quirks and I've only got a Futaba 7C. Even then Chris is having some difficulty. We'll get this ironed out before the final release and generate a list of known radios.
Chris, I don't have my pin 13 connected to the shield. I just put a wire directly into the hole on the main board. Maybe there is another LED on the shield causing the signal to drop below voltage ref, which would impair the 328's ability to read input? Actually I just looked on the board and there is.
Scott, you have a Spektrum? Can you see the define where it mentions radio type?
#define RADIO_TYPE 0 // 0 = fataba Fasst, 1 = Spektrums or other radios
Spektums apparently can have multiple orders of PWM output so this is a tough one to support. Jordi was able to get the code running on his spectrum by adding in some code that takes three passes to read the input.
Let me know if that works for you.
Cool, does this mean that Ardupilot will take the trim settings from the Tx rather than from this:
#define PITCH_TRIM 0 //(Degrees +- 5) allows you to offset bad IR placement
If so that's great, as I've had trouble with the AP trims being out slightly when the plane is trimmed with the Tx for level flight.
right 1074
left 1902
mid 1489
up 1844
down 1039
mid 1418
Radio is Futaba 9CAP with Assan 2.4GHz module
With shield removed, and the throttle at the lowest settings, I get
Waiting for Radio
No throttle input detected
Radio IN: R:1448 E:-24 T:-24 Analog IN: 0:511, 1: 511, 3: 511 S
ensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500
T:1008
Reading radio limits:
With throttle in middle position and the shield is off I get this
Waiting for Radio
No throttle input detected
Radio IN: R:1448 E:-24 T:-24 Analog IN: 0:511, 1: 511, 3: 511 S
ensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500
T:1008
Reading radio limits:
I have not been able to replecate your message
Waiting for Radio
R:1497 E:1497 T:1485