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
    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.
  • 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.
  • 3D Robotics
    The Z sensor has two advantages:

    --Super-easy field calibration
    --Better angular resolution for turns (XY alone is good at spotting level flight but not as good at maintaining a 15 degree angle, say)
  • Hello

    This may be a silly question but in your IR conversion to degrees do you assume that the midpoint is 511? Would it not be better to calculate an average IR value in the level position and reference to this instead?

    Thanks for your time.
    Sirk
  • Developer
    The central point should be always 511, no matter the voltage because is referenced.. I never had a problem flying my UAV at all...
This reply was deleted.