Jak działa failsafe w multiwii ?

FC oparte na Arduino

Moderatorzy: moderatorzy2014, moderatorzy

bartwaw
Posty: 1258
Rejestracja: sobota 05 mar 2011, 20:39
Lokalizacja: Zabrze
Kontakt:

Jak działa failsafe w multiwii ?

Post autor: bartwaw »

Może mi ktoś wytłumaczyć co się dokładnie dzieje kiedy zadziała failsafe w kodzie multiwii ?
Strona mojej kochanej córeczki:
http://www.igunia.pl
Jak nie wiesz na co przeznaczyć 1% odpisu z podatku - zajrzyj.
Awatar użytkownika
slawko_k
Posty: 1596
Rejestracja: niedziela 28 lut 2010, 14:24
Lokalizacja: podkarpackie

Post autor: slawko_k »

Z tego co pamiętam to włącza się tryb stable i zdefiniowany przez użytkownika poziom gazu.
Po zdefiniowanym czasie silniki się wyłączają.
bartwaw
Posty: 1258
Rejestracja: sobota 05 mar 2011, 20:39
Lokalizacja: Zabrze
Kontakt:

Post autor: bartwaw »

Dzieki, pytam się bo powiem wam, że trochę zgłupiałem po tym co twórcy Open Pilota twierdzą na temat działania failsafe w copterach. Powiem szczerze, że nie rozumiem takiego podejścia.
Failsafe w OP objawia się odcięciem silników :)

"When CC detects either a failsafe signal from the receiver, or gets no updates for a few hundred milliseconds it then disables all motors for safety. "
Strona mojej kochanej córeczki:
http://www.igunia.pl
Jak nie wiesz na co przeznaczyć 1% odpisu z podatku - zajrzyj.
Awatar użytkownika
false
Posty: 413
Rejestracja: czwartek 09 gru 2010, 12:01
Lokalizacja: Rzeszów/Nowy Sącz

Post autor: false »

bartwaw pisze:Failsafe w OP objawia się odcięciem silników
To trochę dziwne podejście, bo quad spadnie jak cegła.

W MultiWii failsafe zmniejsza obroty silnika tak żeby quad w trybie stable spokojnie i powoli wylądował, a silniki wyłącza dopiero po kilkudziesięciu sekundach.
Bartek
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

Przypomnę tylko że twórcą kodu FailSafe zaimplementowanego w Multiwii jest Miś. Zainspirowany przeze mnie ;-) po tym jak jednemu z głównych oblatywaczy MultiWii z RCG quad odleciał w siną dal z powodu braku tegoż ficzera pod żadną postacią. Z quadem odleciało też GoPro i tyle go widzieli :-(
Dla nieoczytanych ;-) wspomnę jeszcze o jednym - dyskusja co lepsze - spadający jak cegła czy z pewną inteligencją toczyła sie długo i burzliwie na RCG w wątku o MultiWii. Z tego względu implementacja w kodzie jest dobrowolna, kto chce to używa, kto jest innego zdania i woli latające cegłówki, odhacza i ma co chce ;-)
Ja zaliczam się do grupy chcących miec troszkę inteligentne FS w kodzie koptera a nie obsługiwane z odbiornika RC albo też chore pomysły ze zdalnymi switchami...chociaż - ostatnio poruszana jest kwestia której póki co nie da się obejść - otóż quad robiący fikołki może się "zawiesić", tzn wysypuje się wykonywany program (gdy kopter jest za długo w pozycji plecowej). W takim wypadku Arduino nie gasi pulsów na wyjściach PWM i tyle pałeru ile było przed zwiechą na silnikach...tyle niestety zostaje na PWMach a co za tym idzie na silnikach :shock:
infekcja FPV postępuje w zastraszającym tempie...
bartwaw
Posty: 1258
Rejestracja: sobota 05 mar 2011, 20:39
Lokalizacja: Zabrze
Kontakt:

Post autor: bartwaw »

no rurku kwestia dobrowolności jest niezaprzeczalna ( jak w reglach ;-) )
No ale założenie:
gets no updates for a few hundred milliseconds it then disables all motors for safety
i latając kopterem (tutaj jestem bardziej teoretykiem) nie można zakładać (przy takim upakowaniu elektroniki na cm2), że nie trafi nam sie chwilowy zanik sygnału. Co w tym przypadku oznacza tylko i wyłącznie jedno.
Strona mojej kochanej córeczki:
http://www.igunia.pl
Jak nie wiesz na co przeznaczyć 1% odpisu z podatku - zajrzyj.
Awatar użytkownika
slawko_k
Posty: 1596
Rejestracja: niedziela 28 lut 2010, 14:24
Lokalizacja: podkarpackie

Post autor: slawko_k »

No to chyba wychodzi na to że założyli że ustawiasz FS w odbiorniku. I jeżeli utracisz RC to lądowanie masz z ustawień odbiornika.
Natomiast jakby ci odbiornik padł to wtedy FC właśnie wyłączy silniki dla bezpieczeństwa
cholo
Posty: 3371
Rejestracja: środa 03 lut 2010, 21:38
Lokalizacja: Kraków

Post autor: cholo »

swego czasu napisalem na arduimu failsafe 333 (copyright by cholo ;)) wykorzystujacy czujnik cisnienia.
3 sekundy wisi, potem opada ze stala predkoscia 3 m/s i gdy przez 3 sekundy nie ma zmiany wysokosci wylacza silniki.

samo mi sie nigdy nie wlaczylo ale jeden test zrobilem (swoja droga warto zobaczyc jak dobrze dziala stare baro scp1000 z odswiezaniem 2Hz)
Klenio
Posty: 182
Rejestracja: środa 17 mar 2010, 11:57
Lokalizacja: Warszawa

Post autor: Klenio »

@ cholo:
Czy możesz zerknąć tutaj:
http://rc-fpv.pl/viewtopic.php?p=52759#52759
Zerkaj nad siebie! Drony latają wszędzie...
Piotr
Awatar użytkownika
FlyHigh
Posty: 1091
Rejestracja: poniedziałek 09 sty 2012, 22:28
Lokalizacja: Poznań

Potrzebuję kodu failsafe do MultiWii by Kuki z użyciem baro

Post autor: FlyHigh »

cholo pisze:swego czasu napisalem na arduimu failsafe 333 (copyright by cholo ;)) wykorzystujacy czujnik cisnienia.
Potrzebuję kodu failsafe do MultiWii by Kuki z użyciem baro - co należy wpisać aby właśnie dodać failsafe oparty o użycie baro (Miś-owy używa tylko podanych na sztywnowartości czasowych). W programowaniu jestem słaby stąd powyższa prośba o wsparcie :)
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

nie rozumiem o czym piszesz ....
FailSafe jest funkcjonalnością związaną z utratą zasięgu przez system RC a nie z utratą wysokości....
Poza tym w kodzie deklarujesz, empirycznie dobrane wartości tak aby kopter miękko siadał. To nie są sztywne wartości tylko ustalone przez Ciebie w trakcie testów opadania.
Wartości czasowe też ustalasz na podstawie własnych przemyśleń :-)
infekcja FPV postępuje w zastraszającym tempie...
slawek2011
Posty: 151
Rejestracja: piątek 06 sty 2012, 00:47
Lokalizacja: Nowy Dwór Gdański

Post autor: slawek2011 »

Czyli rozumiem kolego Rurek,że jak podczas lotu wyłączymy nadajnik aparatury to powinna zadziałać funkcja failsafe i copter powinien zachować się tak jakie ma ustawienia w configu?(czyli wylądować bez problemu :) )A czy tryb stable włącza się wtedy?
Ps.Ostatnio miałem taką sytuację,że straciłem orientację wysoko od ziemi i niestety skończyło się spadnięciem quada z wysokości około 200m na ziemię,jeśli byłoby tak jak piszę to mógłbym go wtedy uratować ;).
Ostatnio zmieniony niedziela 11 mar 2012, 22:25 przez slawek2011, łącznie zmieniany 1 raz.
Awatar użytkownika
slawko_k
Posty: 1596
Rejestracja: niedziela 28 lut 2010, 14:24
Lokalizacja: podkarpackie

Post autor: slawko_k »

Z pewnością FlyHigh pyta o autolądowanie gdzie baro jest źródłem sygnału o szybkości opadania tak jak to można w MK w trybie vario wylądować.
Jest to oczywiście do zrobienia.
Sam się nie spotkałem z czyś takim w MWC ale od roku nie śledzę nowinek i może ktoś to napisał.
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

slawek2011 pisze:...podczas lotu wyłączymy nadajnik aparatury to powinna zadziałać funkcja failsafe i copter powinien zachować się tak jakie ma ustawienia w configu?(czyli wylądować bez problemu :) )A czy tryb stable włącza się wtedy?...
Dokładnie tak to działa - po wykryciu braku pulsów PPM (lub zerowy, zdefiniowany w RC stan kanału gazu) kopter się poziomuje, po zadanym czasie z zadaną prędkością opada (albo się wznosi w kosmos jeśli się zakoduje parametr poziomu throttle na wznoszenie ;-) ) i po zadanym czasie wyłącza silniki
infekcja FPV postępuje w zastraszającym tempie...
slawek2011
Posty: 151
Rejestracja: piątek 06 sty 2012, 00:47
Lokalizacja: Nowy Dwór Gdański

Post autor: slawek2011 »

W sofcie http://telnet.r-ce.pl/qua...baro_mag_v4.zip ,który obecnie posiadam na pokładzie odpowiedzialny za failsafe jest kod:
#define FAILSAFE // Alex: comment this line if you want to deactivate the failsafe function ----> włączanie i wyłączanie trybu
#define FAILSAVE_DELAY 10 // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example -----> czas,po którym aktywuje się funkcja failsafe od momentu utraty sygnału-każda jednostka to 0,1 sekundy, w tym przypadku 1 sekunda
#define FAILSAVE_OFF_DELAY 200 // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example ----->czas lądowania do momentu wyłączenia silników,w tym przypadku 20 sekund
#define FAILSAVE_THR0TTLE (MINTHROTTLE + 200) // Throttle level used for landing - may be relative to MINTHROTTLE - as in this case -----> ustawianie obrotów silnika podczas lądowania ,w tym przypadku wartość zadeklarowana na początku configu jako MINITHROTTLE +200

Czyż tak?Jeśli popełniłem błąd to proszę o poprawę.A jak to się ma w praktyce?-Czy prędkość opadania w tym przypadku jest tak ustawiona,że będzie opadał powoli czy odleci?Nie wiem czy dobrze rozumuję,ale pewnie zależy to indywidualnie od każdego modelu,tj. przede wszystkim od wagi koptera a co za tym idzie od momentu obrotów,w którym następuje wznoszenie?
ODPOWIEDZ