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

Views: 2554

3D Robotics
Comment by Chris Anderson on March 11, 2009 at 7:23am
Remco: We calibrate the sensors entirely within ArduPilot: the IR values are stored in EEPROM.
Comment by Fred on March 11, 2009 at 7:29am
Thanks Chris & jordi for for a now really spectacular project !
Comment by Reto on March 11, 2009 at 8:09am
I wish to thank you too, Chris and Jordi. You brought this project to an incredible level keeping your initial goals in mind. You're a great example for many of us, bringing the very concept of an affordable UAV in our homes and heads in many parts of the world. This is for me a great learning experience. Thanks.
Comment by Gagarien on March 11, 2009 at 8:42am
Not to sound soppy but I agree with Retro,Fred and the other guy's. Most likely I would have not got involved with physical computing if it was not for Chris and Jordi. Well done!
Comment by Pumuky on March 11, 2009 at 9:12am
Please i need this "Stores home waypoints and sensor calibration in EEPROM, so they are retained even in the case of a system restart " in 1.x version Chris, dont forget previus version users :)

3D Robotics
Comment by Chris Anderson on March 11, 2009 at 9:20am
Thanks for the kind words and support, guys! It's the enthusiastic response of the community that drives us forward to create cool new stuff. I also appreciate all that you and many like you have contributed to the site, both in asking questions and helping others with answers. It takes a village to create an autopilot ;-)
Comment by Shane on March 11, 2009 at 9:28am
Code looks great Chris! I have a, hopefully quick question. I have a GPSmini (5010MN) from spark fun which I am planning on using instead of buying the EM-406. Its based on the same chip set so there shouldn't be any problem.

Anyway, in your change_to_sirf_protocol() and configure_gps() functions seem to be in binary. Are you assuming that the gps is already in SiRF and not NMEA and just double checking the configuration or are these also valid NMEA commands?

I figured it would be easier to ask than translate the hex into ascii and check =)
Comment by Shane on March 11, 2009 at 9:30am
Let me clarify that question. Didn't we used to be able to edit comments?

Anyway, in your change_to_sirf_protocol() and configure_gps() functions THE MESSAGES seem to be in binary(SiRF?).

3D Robotics
Comment by Chris Anderson on March 11, 2009 at 9:33am
Shane: Yes, we only use Sirf binary, not NMEA. If your GPS module is functionally identical to the EM406 and responds to the same commands, then it should work. But we've never tested that one so we can't support you if you run into problems.

3D Robotics
Comment by Chris Anderson on March 11, 2009 at 9:35am
PS: You can edit comments in forum discussions, but not blog posts. For blog posts it's best just to cut and paste into a new comment, editing it as desired, and just delete the old comment.


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service