3D Robotics

Update on ArduPilot code--final NMEA release

Jordi has been flight testing ArduPilot all week and we've got a raft of new code to share over the next week and an exciting new dimension of ArduPilot to reveal. First, today's installment: an updated version of the standard ArduPilot code, with PID loops improved and some bugs caught. You can find the code here. This is the last version of ArduPilot that we will be releasing with a NMEA parser. Although NMEA allows you to use any GPS module with ArduPilot, it's inefficient and ultimately limiting in accuracy and reliability. Going forward we will be supporting SirfIII binary mode with the EM406 (if you have one, there's nothing you need to do to switch to that mode; the code will do it for you) and the Ublox 5Hz modules. Everyone with the recommended combo of ArduPilot and EM406 are fine. Those of you with other GPS modules are also fine for now, in that this is the latest and greatest code for this version of ArduPilot, but you won't be able to migrate with us to the next version. (Although you can always tweak our code for your own GPS if you want). All this is the lead-up to the next release, in a few days: ArduPilot with built-in stabilization and navigation, flying great in a plane you may recognize ;-) More later..
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Jordi: so EEPROM is usable in ArduPilot? Some more 500 bytes if I remember correctly?
    And I still don't understand reasons for crash, can you mention some? I tried to divide by zero, reference zero pointer, nothing such makes the board to crash, so what are reasons for reseting the board during flight?
  • Still waiting for my Ardu board-- I played with your code a Diecimila and two servo's on a bread board, it worked well. I must be honest I don't understand the calibration quite well but need to study the code more.
    One thing I like is now I'm getting full travel on the servo's by adjusting the servo min/max positions, this FMA stand alone can't do.
  • Developer
    A BTW yesterday i was flying it, full autonomous, but i've looked to my laptop for about 15 seconds, and when i turn my head and start looking for it i lost it!!!!! Was gone from the sky.... I was like OMG! OMG! OMG! I lost it for about 4 minutes (is a lot of time when you are flying R/C), i was eating my nails, looking everywhere!!, and luckily my friend spot it, it was flying above us very high!!! i mean the autopilot was actually doing its job!!! That was a unique experience.
  • Developer
    Yes I'm using FMA sensor, autopilot does the calibration, and store the data in the EEPROM, save me a lot of time when testing, so i don't have to calibrate it every time i restart (in short periods) and the same with home position. In case of crash/restart in middle of the air it will reboot in fraction of a second, restoring all the calibration and home data, so you don't even realize that happened.
  • Developer
    Reto, you can use NMEA but is going to be slower, is up to you (and 5hz is even worse)... Also one advantage of binary protocol is that you can read the climb rate, in normal NMEA you can't, and the data comes almost ready to use, we are squeezing the module.

    Yes uBlox is 4hz.. Intended for fast planes using UBX protocol (is like SIRF binary protocol)... Very reliable...
  • Awsome! Thanks Chris & Jordi. I also asume that Co-pilot IR sensor is used now as proven by Jordi, I prefer that much more than using it as a stand alone. Well done.
  • Chris, Does this new revision address the problem you had found regarding RTL loirtering?
  • 3D Robotics
    Just some clarity on our roadmap:
    ArduPilot will now fork into navigation-only (the current one, which supports all GPS modules), and navigation+stabalization, which is a bigger technical challenge and requires us to only use the most efficient code. That will be the standard EM406 that we've been recommending all along and the new Ublox.

    If people have followed our recommendations on GPS, they're fine. If they haven't, they'll still have a state-of-the art navigation-only autopilot, which is what we initially pitched ArduPilot as. We've worked hard to keep the GPS choice wide open till now, but as the project develops we've got to impose constraints or the code base will become an unmanageable mess and then nobody will get anything!
  • good work! , and thank you , Chris & Jordi
  • FYI, the uBlox only does 4Hz. The 5Hz phase was a delusion of grandeur. Setting them to 5Hz only works with <10 satellites & causes them to drop back to 3Hz when >10 satellites.
This reply was deleted.