Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Změřit poláru vírniku #43

Open
kaklik opened this issue Jun 1, 2020 · 7 comments
Open

Změřit poláru vírniku #43

kaklik opened this issue Jun 1, 2020 · 7 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@kaklik
Copy link
Member

kaklik commented Jun 1, 2020

Vírníku by bylo potřeba změřit poláru, abychom věděli při jaké rychlosti můžeme očekávat minimální opadání.

Potenciálním problémem celého takového měření je, že polára se může v průběhu letu měnit. Podle aktuálních parametrů hustota vzduchu, ušpinění rotoru, a podobně.

Pro létání v termice by tak bylo výhodné, kdyby měřící aplikace uměla fungovat podobně jako MPPT tracker, který by optimální rychlost klouzání neustále hledal.

Zajímavé je, že podle tohoto článku má na klouzavost vírníku vliv hlavně aerodynamický odpor draku vírníku. Samotný rotor má klouzavost 1:16.

@kaklik kaklik added documentation Improvements or additions to documentation enhancement New feature or request labels Jun 1, 2020
@kaklik
Copy link
Member Author

kaklik commented Jun 26, 2021

Tohle issue by zřejmě nyní, když vírník nepřechází do spirály, už mohlo být řešitelné. :)
Vhodným postupem je pravděpodobně vytvoření skriptu v MAVSDK-Python, který by provedl změření charakteristik ve vymezeném prostoru.

@kaklik
Copy link
Member Author

kaklik commented Aug 13, 2021

Zjištění z ThunderFly-aerospace/PX4-Autopilot#35 zřejmě usnadnilo možný způsob řešení. Bez znalosti vertikálního proudění totiž bude velmi těžké přesně určit rychlost vlastního opadání.

@kaklik
Copy link
Member Author

kaklik commented Nov 15, 2021

K tomuhle je zřejmě potřeba funční "airspeed mód".
FYI @roman-dvorak

@roman-dvorak
Copy link
Member

roman-dvorak commented Nov 15, 2021

Nevím, jestli by nebyl vhodnější nějaký automatický režim (např loiter) s variabilním airspeed.. Kdy by se pak našel konkrétní airspeed setpoint s minimálním příkonem. Zřejmě ale bude existovat více optimálních hodnot. Například optimální airspeed pro dosažení co největší doby letu vs optimální airspeed pro největší délku trajektorie letu.

O to se snaží tady: PX4/PX4-Autopilot#18605 Tahle implementace má bohužel 3 rychlostní režimy (AIRSPEED_MIN/TRIM/MAX) a neumožňuje plynulou změnu. (Tato úprava zároveň má zvětšit robustnost ve větru)
Nová implementace už umožňuje plynulé nastavení rychlosti: PX4/PX4-Autopilot#18834

Nalezení optimální rychlosti by možná mělo být i předmětem auto-tunning algoritmů PX4/PX4-Autopilot#18330.

@kaklik
Copy link
Member Author

kaklik commented Nov 15, 2021

Nevím, jestli by nebyl vhodnější nějaký automatický režim (např loiter) s variabilním airspeed.. Kdy by se pak našel konkrétní airspeed setpoint s minimálním příkonem. Zřejmě ale bude existovat více optimálních hodnot. Například optimální airspeed pro dosažení co největší doby letu vs optimální airspeed pro největší délku trajektorie letu.

O to se snaží tady: PX4/PX4-Autopilot#18605 Tahle implementace má bohužel 3 rychlostní režimy (AIRSPEED_MIN/TRIM/MAX) a neumožňuje plynulou změnu. (Tato úprava zároveň má zvětšit robustnost ve větru)

Nalezení optimální rychlosti by možná mělo být i předmětem auto-tunning algoritmů PX4/PX4-Autopilot#18330.

Ten automatický režim souvisí s tím jakým způsobem se vypořádáme s větrem. Protože v loiter režimu bude potíž s tím že během úseků na té kružnici bude mít vítr různou rychlost a směr.
Myslím si tak, že pokud by to měl být automatický režim měření, tak by musel obsahovat rovné přelety ve směru proti větru.
V automatickém režimu letu na kružnici by to ale určitě šlo provozavat v kombinaci s motorem. Je to ale myslím jiný typ měření.

@kaklik
Copy link
Member Author

kaklik commented Jan 13, 2022

Myslím si, že tohle by bylo zřejmě nejlepší implementovat ve formě Flight Task uvnitř nějakého vhodného režimu letu. Nejvhodnější mi aktuálně přijde "airspeed" pro hledání parametrů optimálních parametrů bezmotorového letu. A pak "hold" pro hledání optimálních parametrů motorového letu.

Zřejmě by asi bylo možné, aby tento "MPPT optimizer" běžel vlastně pořád. Protože nyní se třeba s airspeed zachází tak, že se letí AIRSPEED_TRIM, dokud regulátor nenarazí na nějaké limity. Jako třeba menší než minimální ground speed. Předpokládá se tak, že AIRSPEED_TRIM je konstanta po celou dobu letu a je neměnnou charakteristikou UAV, což ale prakticky není pravda.
Optimizer by pak mohl AIRSPEED_TRIM měnit buď dynamicky, nebo pokud je schopen získat nějaký odhad v průběhu letu beze změny AIRSPEED_TRIM, tak ji aspoň nastavit na optimálnější hodnotu pro příští let. (Podobně jako se zachází s parametrem ASPD_SCALE).

Obávám se ale, že tento problém nelze vyřešit bez znalosti i vertikální složky větru, která může kazit měření opadání, jak je již naznačeno výše.

@kaklik
Copy link
Member Author

kaklik commented May 14, 2022

Možná by tohle celé měření šlo nahradit automatickým odhadem některých parametrů TECS regulátoru, jako například FW_T_RLL2THR, nebo zavedením parametru Throttle_to_STE_rate tj. převrácenou hodnotu od STE_rate_to_throttle, která se nyní určuje z konstant FW_T_SINK_MAX a FW_T_CLMB_MAX. Místo toho by zřejmě měla být vypočtena z dostupných výkonů během letu.
Takové údaje by asi umožnily porovnání úprav virníků mezi s sebou ve smyslu horší/lepší bez toho aby bylo nutné měřit celou poláru.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants