Developer

Ardupilot 2.5 Release Candidate

I was finally able to test 2.5 over the weekend and added a few tweaks to the code.
Here's what I hope is the final release.

As the new Manual gets formatted, you can view it at: http://code.google.com/p/ardupilot/wiki/ArduPilot25
Until the content is finally moved over the 2.4 manual is still a great resource.

Ardupilot_25_RC2.zip

Bonus - If you look check out the Waypoint_writer_25.pde file in the test suite, you can upload relative waypoints. This isn't supported in the config tool yet.

Jason


UPDATE -
A lot of people were having trouble with the GPS code and LEDs. I reworked the GPS parsers today to iron out some things. They were nothing that would interfere with flight, but I highly recommend using this new version. I've also added the ability to scale down your plane's roll based on airspeed. This should help planes that turn faster when they go slower. We may tweak this a bit in the future, so I'm looking for feedback on it. Note you can always turn it off in your header file with this line:
//6-4
#define AIRSPEED_TURN_P 1
see the header file for more instructions


E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Developer
    Hi Yves,
    The 2.5.1 team is still in the middle of their work. I'm pushing them bug fixes as I find them.
    I'll check out your code. Thanks!
    Jason
  • Ardupilot_25.zip

    Yves
  • Hello, finally, I am running the code 2.5, with the code Arduimu, I don't use the FMA sensor, just IMU. I am inspired by the Code 2.5.1 for the part GPS_IMU, I added what was missing. And in the part of sensor, I cleaned the optical code. My GPS is uBLOX5.
    I did this because I do not really understand the usefulness of the code 2.5.1, I can't run with my setup infact. All, seem to work fine on my demo board.
  • Developer
    Hi Marco,
    Th config tool was written a while ago and can't reliably set a home position. It's a user option and it can be easily overwritten by a GPS. So instead I use an offset from WP1 as the home.

    @JvbD
    Make sure you move the stick to the extremes of two corners. Your basically trying to the the AP the full swing of your control surfaces. Good luck.

    Jason
  • Hi Jason, I delayed a bit because of a crash of my Easystar.
    It didn't want to follow waypoints, went very far and dive into ground.

    In debug mode with the last release I got the results below.

    WPs list.

    OPTIONS:66,True,True,Meters,17
    HOME:45.567301,8.997266,82
    45.56659,8.99755,82
    45.567842,8.997856,82
    45.568218,8.996944,82
    Don't understand the different position of Home and WP1, instead the path is very nice.
    Thanks and a nice day
    marco



  • One curious thing, I've worked out the reverse servo's etc in the airframe tester. However when I power up (in the house), switch to stabilization mode, hold the stick 2sec in the corner and remove the plug the elavator goes instant up. It responses correctly when I move my hand in front of the IR sensors. Is this because of all the IR noise inside the room. I haven't flown it yet but can only guess that it will stall immediately when it moves the elavator all up. Or when I calibrat outside this will solve the problem? At this moment it's snowing so no flights scheduled yet.
  • Hello, I found some errors in section GPS_IMU, code 2.5.

    1)
    ck_a byte = 0;
    ck_b byte = 0;

    Variables already declared in Ardupilot_25.

    2)
    numo Serial.available = ();
    if (numo> 0)
    for (int i = 0; i
    (
    Serial.read data = ();
    switch (GPS_step) / / Normally we start from zero. This is a state machine
    (
    case 0:

    Changed switch (GPS_step) by switch (IMU_step).

    3)
    if (payload_length = 6)
    GPS_update = GPS_IMU;
    else (
    GPS_update = GPS_IMU | | GPS_BOTH;
    GPS_fix = VALID_GPS;

    Changed by (payload_length == 6).

    Yves
  • Developer
    Everything looks like it's working fine. I see really good sensor values (511 is the perfectly level value.) and it's reading your throttle and control switch. Your good to go.

    Do you understand why the angle braces didn't work? It's because you don't have a header file in your arduino library. If you want you can do that. There are many advantages to doing it that way, but to get someone started from scratch that way is a support issue.

    I'll be uploading some new code today, but you should be all set.
    Jason
    http://go.Do/
  • Sorry, post was incorrect, shoud have replaced the " " with < >). What I meant was:
    From: #include "easystar_25.h"
    to: #include < easystar_25.h > (ignore the spaces)
    Backt to: #include "easystar_25.h"

    So next: airframe tester serial output: Ardupilot_airframe_tester_25- 13.02.10.txt
    Init Ardupilot Airframe Tester 2.5.0
    Startup: Ground
    Radio IN: R:1522 E:1501 T:996 Analog IN: 0:528, 1: 503, 2: 511 Sensors: ir_max:40 roll:-10 pitch:-28 PWM OUT: R:1500 E:1500 T:1015
    Reading radio limits:

    Move sticks to: upper right and lower Left.

    To Continue, hold the stick in the corner for 2 seconds.
    R:1522 E:1501 T:996
    ..................................................

    #define CH1_MIN 1372
    #define CH1_MAX 1672
    #define CH2_MIN 1351
    #define CH2_MAX 1928
    #define CH3_TRIM 996
    #define FAILSAFE_PWM 946
    ch1_trim 1522
    ch2_trim 1501

    Turning On Stabilization
    Throttle input is enabled
    Battery Voltage input is disabled
    Throttle output is enabled
    Remove Safety Flag
    Remove Safety Flag
    Remove Safety Flag
    ##0| MANUAL

    Ready to FLY.
    Radio IN: R:1521 E:1842 T:996 Analog IN: 0:524, 1: 504, 2: 511 Sensors: ir_max:40 roll:-6 pitch:-22 PWM OUT: R:1500 E:1500 T:1015
    DELETED SOME LINES
    Radio IN: R:1522 E:1501 T:996 Analog IN: 0:513, 1: 499, 2: 511 Sensors: ir_max:40 roll:11 pitch:-15 PWM OUT: R:1521 E:1501 T:1000
    ##2| FLY BY WIRE
    Radio IN: R:1521 E:1501 T:996 Analog IN: 0:513, 1: 500, 2: 511 Sensors: ir_max:40 roll:10 pitch:-14 PWM OUT: R:1476 E:1610 T:1272
    ##1| STABILIZE
    Radio IN: R:1521 E:1501 T:996 Analog IN: 0:513, 1: 500, 2: 511 Sensors: ir_max:40 roll:10 pitch:-14 PWM OUT: R:1475 E:1615 T:1344
    Radio IN: R:1521 E:1501 T:996 Analog IN: 0:513, 1: 500, 2: 511 Sensors: ir_max:4

    I followed your 3-way switch setup. According to the above it detects the seperate positions. In airframe tester the IR works. I haven't tested it in flight yet but moving my hand in front of the IR sensors worked as they supposted to work.

    Hope this helps
  • Developer
    #include without a file is bad C and surely won't compile.

    Sound like you haven't set it up properly. You've run all the test files? The airframe tester is working with IR?
    Can you send me the output of you Serial monitor as a file?
This reply was deleted.