3D Robotics

ArduPilot 2.0 Beta Code Released!

I'm delighted to announce the release of the ArduPilot 2.0 software, now in public beta. This software uses the current ArduPilot hardware but handles the FMA Co-Pilot stabilization function itself, without the need for a separate stabilization unit. It is, in short, a complete integrated autopilot. That little ArduPilot board can do a lot! 2.0 Features:
  • All the ArduPilot 1.0 functions: programmable 3D waypoints; return-to-launch mode, in-flight reset ability, fully programmable actions at waypoint and totally expandable board.
  • Now integrates the stabilization and navigation functions, eliminating the need for a FMA Co-Pilot and vastly improving waypoint tracking
  • Controls elevator and ailerons/rudder. Throttle control coming in 2.1
  • "Fly-by-wire" mode stabilizes the aircraft in RC mode, duplicating the function of the FMA Co-Pilot
  • Stores home waypoints and sensor calibration in EEPROM, so they are retained even in the case of a system restart
  • Controls altitude with the elevator, vastly improving performance in wind
  • Currently optimized for the three-channel EasyStar. Versions have also been tested on Funjet and four-channel Superstar (code coming soon)
  • Simple in-field calibration process
  • Can use any thermopile XY sensors (default settings are for the FMA sensor, but Paparazzi, AttoPilot and custom sensors can also be used)
  • Currently supports the EM406 GPS. Support for Locosys and Ublox GPS modules coming soon
  • Uses "chained PID loops" to combine the stabilization and navigation functions seamlessly
What you need (if you already have an ArduPilot and FMA Co-Pilot you don't need anything else): Instructions for modifying the FMA sensor cable to use it with ArduPilot are here. Instructions for in-field calibration and setup of ArduPilot 2.0 are here. (Note: ArduPilot 2.0 put the EM406 GPS module into binary mode, which disables its onboard LED. That means that if you try to use the same GPS module with ArduPilot 1.0, it won't work (unless you program back into NMEA mode with a utility such as this one). However, if you let it sit for a few days without power, the onboard capacitor will run out and it will return to its default NMEA mode and will work with ArduPilot 1.0 again) The next version, 2.1, is now in private alpha. It will include the following:
  • Uses Z sensor for self-calibration in the field
  • Uses small desktop app to load ArduPilot settings and waypoints, without having to work with code
  • Adds throttle to altitude control, improving accuracy and wind performance
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Developer
    You can more or less compensate the lon, doing this:
    ((target_distance x sen(target_bearing)) x (.000009xcos(home_lat)))+home_lon = referenced lon waypoint.

    But is not the most accurate way, but believe me, you will not even note it.
  • Developer
    In my formula above the distance must be in meters... If you want feets, you must investigate how many degrees has a feet.. Meters=.000009 degrees. the lon is not compensated....
  • Developer
    Yes is easy. If you look carefully i'm just taking home position and adding some degrees to the latitude or longitude (wp_lat[1]=wp_lat[0]+0.002000;). You can erase that and enter your coordinate in raw way (wp_lat[1]=47.123456);).

    If you want to use referenced coordinates use your calc and do this:
    ((target_distance x cos(target_bearing)) x .000009)+home_lat = referenced lat waypoint.
    ((target_distance x sen(target_bearing)) x .000009)+home_lon = referenced lon waypoint.

    But carefully with the sign's the formula should calculate the right one... And is not the most accurate way, but is good enough.
  • Hi,
    Want to add some waypoints but im not too sure if what I want to do is correct. Ive got google earth open & my coords, but, from the looks of the code below the waypoints are setup in relation to your home possition?

    So if I want to plot out a flight in google I first need to find where Iam going to turn on the uav & then calculate the distance to each waypoint for ardu?

    Cant I just export the coords from google and paste them... somewhere?

    Thanks,
    Max

    //0.000009 degrees is about 1 meter...

    Leave the 1st one alone for RTL yes?
    wp_alt[0]=50;
    //wp_lat[0]=0; Do not change unless you want to override home position...
    //wp_lon[0]=0;

    Where would I put the coords from google?
    wp_alt[1]=50;
    wp_lat[1]=wp_lat[0]+0.002000; //Travelling north about 200 meters from launch position....
    wp_lon[1]=wp_lon[0];
  • 3D Robotics
    A manual is in the works. Also a newbie guide. Stay tuned....and thanks for the kind words!
  • I wish I had the time to contribute some of my expertise and write a user's manual pdf to try to compile the jewels scattered throughout these threads - into blocks that are clear and kept up to date. It's probably going to get even more confusing as the project evolves. The forum format is ok, but can get alot of useful information woven into the wrong thread, or suddenly appearing in a troubleshooting answer, that is relevant to the project as a whole. I see others struggling with the same confusion in the questions they are asking. If I had more time, I'd take on the user manual, but cannot focus on anything new right now, dang it! It would be fun.

    I am in awe of the work that is going on here. I've never seen an open source project moving along, at this pace, with amazing people participating...from every level and angle, worldwide. A beautiful artlike kinetic. Bravo!
  • 3D Robotics
    Sorry about that. I'm afraid that open source projects can look a little messy at the start, but anyone buying the product today doesn't have to worry about any of that.

    You might want to keep the AVR programmer, however. It's really handy for reloading bootloaders or otherwise rescuing chips when things go wrong. Which they do, more often than we might like.
  • I was afraid of that. I was confused again, by the changing configurations over time and all the posts mentioning the programmer for that chip. I ordered one, now don't need it. I'm not a programmer so can't use it other places. Guess I'll need to wholesale it...
  • 3D Robotics
    It's all done at the factory. You don't need to do anything with the Attiny.

    But just to be clear, the "2.0 board" is the same as the "1.0 board". It's just the software on the main chip, which you flash with Arduino, that's been updated.
  • For the 2.0 board, do I need the progammer to configure the tiny chip, or is done on these recent boards at sparkfun? Thanks.
This reply was deleted.