ArduPilot: New Attiny FailSafe Firmware V1.6, now with RTL in case of R/C signal loss (Beta)


The latest ArduPilot Fail Safe firmware V1.6 includes a state of the art system to detected if we have glitches or bad signal, triggering the RTL and avoiding undesired "Remote Resets".

How it works?

Well, the first part is just a low pass filter that works only when switching to autopilot, this prevent undesired toggles to autopilot mode when the signals becomes "noisy" and also avoiding undesired resets (the system mistakenly thinks you are toggling the switch).
The second parts is a "Valid Pulse Width Checker", this is a very simple code that will increment a counter every good pulse received, if the system receive 75 valid frames (by default) it will thrust the commands we send through the remote control, otherwise will trigger RTL, and reinforces the prevention of undesired "Remote Resets" caused by noise.

Of course the latest code could be found in the same place as always, here.

The Attiny has been tested only on ground with my 72mhz Futaba and two different receivers, after confirmation i will remove the beta tag, and i will try convince Nathan to flash it on the SparkFun boards, in the meantime you can try it with your AVR programmer. ;-)

Whats next?
Well right now I'm working on the new ArduPilot firmware code name "Hybrid", will support NMEA, SIRF , uBlox UBX and VENUS 10HZ GPS protocols, on the same code, and you can switch between them by just changing a single variable, bad news, only works on 328. =P

Views: 496

Tags: antifail, ardupilot, attiny, failsafe

Comment by Saiful Azuwan on April 29, 2009 at 6:31pm
Excellence...
Comment by Michal B on April 29, 2009 at 6:51pm
Jordi, will this work with 2.4GHz digital RC receivers? As I know, these RC's don't ever send invalid pulse, and in case of signal lost, my Spektrum RC keeps last values for all channels except throttle which is cut.

3D Robotics
Comment by Jordi Muñoz on April 29, 2009 at 7:07pm
If you have an spektrum you can pre propgram it to switch to RTL, like i do. I normally fly with spektrum.
Comment by Michal B on April 29, 2009 at 7:24pm
This is from Spektrum AR 6100 manual:

SmartSafe
Your AR6100 features SmartSafe fail-safe programming. SmartSafe prevents accidental motor operation before the system connects and, in the unlikely event of signal loss, SmartSafe drives the throttle to a preset (off) position. With SmartSafe, if the receiver is turned on before the transmitter, all channels but throttle will go to their fail-safe position stored during binding, while the throttle channel will not generate a pulse so as to not arm the electronic speed control. After the system is connected, if loss of signal occurs, the throttle will be driven to a preset fail-safe position, normally low throttle (set during binding) while all other channels will hold their last known position.


I don't see option to preprogram RTL toggle channel to some fixed value when signal is lost. The channel would keep last position.

3D Robotics
Comment by Jordi Muñoz on April 29, 2009 at 7:49pm
LOL, that version do not have this functions =(, i also purchased the AR6100, and nothing... Only the "AR7000" for DMS2 and any receiver that cost more than $100 dlls!! Otherwise there's no way spektrum can do RTL when you switch it off, with or without latest attiny firmware.... One solution could be to solder one wire form the receiver LED, it shut downs when the signal is lost, so we can use it for that...
Comment by PeteD on April 29, 2009 at 8:28pm
I just checked-out the code using: svn checkout http://ardupilot.googlecode.com/svn/trunk/ ardupilot-read-only

Has/will this be committed to the repository? I can't see it there?

3D Robotics
Comment by Chris Anderson on April 29, 2009 at 8:42pm
@dydx: it's just in the downloads, not in the subversion repository.
Comment by Reto on April 29, 2009 at 10:08pm
Is the distance threshold implemented in v1 still there in later versions as an alternative RTL failsafe for 2.4gHz users?
Comment by Michal B on April 30, 2009 at 12:13am
jordi: another solution is to watch throttle signal, if it goes low, RC may be out of range. Then do something special like RTL. But one must consider this when manually controlling plane, manually gliding would not work then.
Comment by simonl on April 30, 2009 at 4:23am
How about switching to RTL if throttle low AND other channels hold for (say) 2s? Would this work for all Rx's?

Comment

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

Join DIY Drones

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service