.[ ČeskéHry.cz ].
Vztlak, odpor 'n stuff
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 29. říjen 2018, 12:24:47    Předmět: Vztlak, odpor 'n stuff Odpovědět s citátem

Caute panstvo!

V ramci malickeho pokusu si chcem 'nasimulovat' male lietadielko. Pouzivam Unity a normalne rigidbody. Vsetko limitujem do YZ roviny, to je ale nepodstatne. Lietadlo je male (0.3 m), lahke (0.01 kg) a malo by lietat dost pomaly (10 m/s), asi ako hracka. Cisla nie su finalne.

Vztlak pocitam v zavislosti na AoA (angle of attack) a na kvadrate rychlosti krat bulharske konstanty. Vztlak aplikujem uprostred kridla v smere transform.up.

Odpor pocitam v zavislosti na vztlaku (lift induced drag) a v zavislosti na kvadrate rychlosti krat bulharske konstanty. Odpor aplikujem na CoG v smere -velocity_WorldSpace.

Konkretne funkcie postnem vecer z domu. Nelieta mi to ale dobre Sad Jedna sa mi hlavne o klzavy (ne-motorovy let) a stalling.

Vztlak na zadnej horizontalnej ploche neaplikujem. Bolo by to uzitocne? Podari sa mi takto stabilizovat moje lietadielko? Bez tohoto si musim lietadlo otacat fakovo sam smerom k smeru vektoru rychlosti.

Mal by odpor zavisiet aj na AoA? Je odpor pri lete/pade dozadu nejak odlisny?

Velke problemy mam v pripade straty vztlaku (stall). Este vacsie problemy mam v pripade letu dozadu.
Napriklad: Hrac ovlada lietadlo len vyskovkami. Pri lete priamo vertikalne mu rychlost klesne na 0. Neviem nikde dohladat, ako sa chova vztlak ani odpor v pripade letu dozadu. Neviem dohladat, ako sa chova odpor v pripade padu (horizontalna rychlost 0).

Nepodarilo sa mi to ani nijak nasimulovat fake krivkami Sad Mate lepsie skusenosti s pokusmi o fyzikalnu simulaciu, alebo sa to nejak snazit cele radsej ofejkovat? Riesili ste uz toto niekto? Pohlad na moje lietadlo je z boku, takze je jasne vidno, ked sa chova pri pade uplne divne.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 30. říjen 2018, 10:17:11    Předmět: Odpovědět s citátem

Bude to asi trochu delší, ale doufám, že to pomůže. Řešil jsem to samé.

Vztlak na křídle se většinou počítá k 25% hloubky profilu. Koeficienty jsou závislé na angle of atack (AoA). Jsou tři: koeficient vztlaku (Cl), odporu (Cd) a klopivého momentu (Cm). Cm překlápí letadlo na nos.
Poznámka: tebou zmiňovaný lift induced drag je něco jinýho, souvisí s úbytkem vztlaku na konci křídla, kdy vzduch zespodu přefukuje nahoru a vzniká vír.

Křídlo a vodorovná osasní plocha (VOP) k sobě většinou zaujímají nějaký úhel (u akrobatů někdy ne). Tomu se říká seřízení a někdy tuším Penauldovo V, podle objevitele. Bejvá to tak 2 stupně, třeba. Křídlo tedy překlápí letadlo na nos, VOP ale dělá vztlak třeba i směrem dolů (!), takže tento klopivý moment kompenzuje. Záleží na poloze těžiště.

Odpor vypočteš = Cd * rychlost^2 * 0.5 * hustotaVzduchu * plochaKřídla.
To stejný pro Cm a Cl.

Odpor se aplikuje přesně opačným směrem, než vektor rychlosti nabíhajícícho vzduchu. A to v 25% hloubky křlídla. Vztlak se aplikuje ve stejném místě a je přesně kolmý k vektoru rychlosti nabíhajícího vzduchu. Klopivý moment se přičte ke klopivým momentům rigidBody. Pokud ho budeš uvažovat.


A teď, kde sehnat Cl, Cd a Cm od -180 do 180 stupňů? Je to trochu problém, protože obvyklé 2D simulace na stallu končí. Existují nějaká měření z aerodynamického tunelu, ale je to všechno už magie - a u tebe nebude sedět Reynoldsovo číslo (máš moc malý letadlo). Já dospěl k tomu, že jsem míchal data z 2D simulací s křivkou z aerodynamického tunelu (která mi modelovala stall a let dozadu). Funguje to a dá se to hlavně ladit :-).

Takhle vypadá můj 360 stupňů model pro symetrický profil: NACA 0010 na dospělé letadlo (pod obrázkem pokračování):

Tady je export dat: http://inventurakrajiny.cz/files/NACA_0010_Re1M5.xml

Jinak, na profil mám hotovou C# třídu (přepsanou z C++, kde dělala to, co je na obrázku vejš). Používám ji na ponorku ;-). Monžá by ti to stačilo. Ta je tady: http://inventurakrajiny.cz/files/Profile.cs. Poznámka: kdybys to zkoušel, tak u funkce na AoA si dej bacha na koordinační systém (jak se tam otáčí ten vektor). Já s tim při přenosu z jednoho projektu do druhýho hodně laboroval, taky to furt nefungovalo. Bejvala dřív i optimalizovanější, teď sem rád, že nějak funguje :-)
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 30. říjen 2018, 10:34:56    Předmět: Odpovědět s citátem

Ještě tady je vidět průběh vztlaku od 0 do 180 (je to symetrický profil, tak z druhý strany je to stejný).

_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 30. říjen 2018, 13:14:06    Předmět: Odpovědět s citátem

Semo, toto je perfektne, dikes! Uz sa tesim, ako to tam nasypem a som zvedavy, ako to bude (ne)chodit Smile

Nejde mi samozrejme o nejaku presnu simulaciu, vsak ani nemam nejaky realny model. Takze to bude o potuneni tych konstant predpokladam.

No a co teda vztlak na VOP? Mam aplikovat vztlak aj tam aj na hlavnom kridle? V pripade, ze vzduch stoji, tak vektor rychlosti nabiehajuceho vzduchu je samotny vektori rychlosti telesa, ze?

Myslel som si, ze vztlak sa aplikuje v smere fixnom k ramu lietadla, teda v mojom pripade priblizne priamo transform.up -- to je teda zle?
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 30. říjen 2018, 13:49:42    Předmět: Odpovědět s citátem

Vztlak na VOP dávej taky, to tě nezabije :-). Díky němu to bude lítat. Výškový kormidlo (klapku) řešit nemusíš, stačí otáčet celou VOP. Ostatně, některý letadla to tak mají i ve skutečnosti.

Ad vektor rychlosti nabíhajícího vzduchu: ideál by byl, kdyby sis ho vypočítal k tomu konkrétnímu bodu (25% hloubky křídla). I pro VOP. Bude to lítat líp. V Unity můžeš přes metodu RigidBody.GetPointVelocity() (* -1). Při určitých manévrech ta rychlost bude totiž díky úhlové rychlosti jinačí, než v těžišti. Obzvlášť na VOP. Neni to uplně zanedbatelný.

V souvislosti s tim mě napadá, že sem to napsal poprvně blbě, odpor bude působit samozřejmě ve směru nabíhajícího vzduchu (napsal sem že proti). Ale to sis asi domyslel :-)

Co se týče toho transform.up: Ono záleží asi, vůči čemu je vypočtenej ten angle of atack. Ale úvaha je taková, že odpor působí proti rychlosti křídla a vztlak je vždy kolmý k odporu. Takhle mi to funguje dobře.


Obrň se trpělivostí, hlavně u výpočtu AOA a směru sil. Stačí přehlídnout drobnost a neni to ono. Ale zas takový hardocre to neni. Je to jen, jak píšeš, zjednodušený model.

Tipy pro ladění letových vlastností:
- Na VOP dej symetrický profil (klidně z tý mojí třídy použij default).
- U křídla dej nějaký normální, aby nosil i s nulovým úhlem. Toho dosáhneš tak, že zeroLiftAoA nastavíš na nějakou hodnotu, třeba 0.2 a upravíš příslušně i maxCl a minCl. Můžeš se inspirovat existujícíma profilama, je toho na netu hodně.
- Nezapomeň správně umístit těžiště, na začátek třeba taky 25 - 30 procent hloubky křídla. Když bude letadlo moc houpat, posunuj dozadu a snižuj úhel mezi VOP a křídlem.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 31. říjen 2018, 11:20:31    Předmět: Odpovědět s citátem

Lieta to! Smile Pridal som vypocet vztlaku aj na vyskovku (celu ju naklanam) a je to celkom pekne.
Kazdopadne ten smer aplikacie vztlaku a smer aplikacie odporu kolmy nemam.

Odpor proste aplikujem proti vektoru rychlosti celeho lietadla a vztlak v smere lietadla hore (a tie v zatackach nie su velmi kolme) a lieta to.

Ked som skusil smer vztlaku vypocitat ako Cross(rigidBody.velocity, transform.right), tak to vobec nebolo dobre.

AoA pocitam jednoducho s tym, ze hlavne kridlo je zarovnane s transform.forward, takze je to normalne Vector3.SignedAngle(transform.forward, rigidbody.velocity). Este sa na to podivam.

Co sa tyka (25%) hlbky kridla, tak ja to v mojej pseudo-2D hre aplikujem priamo v strede lietadla, takze tam problem momentalne nemam. Ale keby som to skusal v 3D, tak dik za tip!

EDIT: Ked nad tym tak rozmyslam, tak ta rychlost vzduchu v pripade, ze to lietadlo nejak rotuje (pitch) asi nebude na hlavnom kridle a VOP/vyskovke zhodna, tak skusim zohladnit este to.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 31. říjen 2018, 11:31:00    Předmět: Odpovědět s citátem

25 procent hloubky křídla sem myslel hloubku profilu - tzn. existuje i z pohledu zboku :-)

Jinak každopádně fajn, že to lítá! Ale uričtě ještě zkus ty rychlosti, působiště a směry poladit. Myslím, že budeš jen mile překvapen :).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 1. listopad 2018, 08:24:16    Předmět: Odpovědět s citátem

Tak sa mi to podarilo dat kolmo a lieta to!
Ten klopivy moment neaplikujem vobec zatial.
Rucne som si tam dal 2 body: 1 je miesto aplikacie vztlaku a 1 je taziste. Tazisko som posunul trochu dopredu a dole, len asi 10% dlzky lietadla a 5% vysky. A takto sa mi same od seba klopi na nos. Nie je to zle.

Maximalny pruser je poladit tie konstanty. Namiesto plochy kridla a hustoty a tak tam mam jednu konstantu pre odpor a jednu pre vztlak. Tie kridla su aj tak fake.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 1. listopad 2018, 09:05:48    Předmět: Odpovědět s citátem

Jasně, fejkování chápu. Ale myslím si, že je fajn založit to na reálných výpočtech (jako si to udělal) a pak ubírat, nebo ladit věci, který hráče otravujou. Případně přidat explicitně různý limity kvůli herní logice. Moje víra říká, že fyzikálnímu chování každý rozumí, protože se s tím setkává v reálném životě. Je to intuitivní. Naproti tomu 100% fejk se musíš naučit ovládat a je divný :).

Kdybys chtěl ještě trochu ze simulátorovýho soudku, tak čti dál..

Ladění konstant: Proč průser? Ono by to mělo lítat (klouzat) vpodstatě samo. Ještě pár tipů:
- Když bude poměr plochy křídla a hmotnosti větší, bude letadlo samo od sebe rychlejší, takže rychlost reguluj hlavně hmotností, odpor je až druhá věc.
- Na správnou polohu těžiště a úhlu mezi VOP a křídlem můžeš použít vpodstatě to stejné, co modeláři:

while (!spokojenost)
{
- seřídit úhel VOP pro vodorovný let
- dive test
}

Ten klopivý moment můžeš myslím uplně vynechat. Neni to sice správně, ale zas takovej problém to asi nebude. Kdybys ho aplikovat chtěl, tak jen rb.AddTorque(transform.right * M).

Koeficienty vztlaku a odporu taky až tak moc řešit nemusíš. Ono je to celkem podobný. Leda pokud budeš chtít pomalejší letadlo, tak dát profil, který má velký vztlak při nulovým úhlu. Ale to je detail.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 1. listopad 2018, 10:49:00    Předmět: Odpovědět s citátem

U toho dive testu mam zacat s nulovou rychlostou? Nejaka sipka tam je...
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 1. listopad 2018, 11:23:43    Předmět: Odpovědět s citátem

Nemusíš s nulovou, rozleť to mírně dolů a neřiď. Pozná se tak špatně vyvážený letadlo, který ale rovně jinak lítá vpohodě (chyba se kompenzuje vytrimovanou výškovkou, ale při větší rychlosti při letu dolů se už projeví).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 6. listopad 2018, 08:43:46    Předmět: Odpovědět s citátem

A pochlubíš se, co že to vlastně děláš? :-)
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 6. listopad 2018, 17:09:06    Předmět: Odpovědět s citátem

Momentalne nie Smile
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 8. listopad 2018, 08:49:25    Předmět: Odpovědět s citátem

To je škoda teda! Ale chápu to. Taky si ve volných chvilkách hraju s takovou hrou, společně s bráchou, ale na prezentaci to zatim neni. Nevíme, jak to dopadne :).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 9. listopad 2018, 13:09:58    Předmět: Odpovědět s citátem

Narazil som na dalsi problem... ked som to zmensil na pozadovanu velkost (tj. asi 0.3 jednotky = 0.3 metra = 1 lietadlo o hmotnosti napriklad 0.05 kg Smile) tak sa to samozrejme uplne rozbilo.

Sadol som k papieru a spocital som si, ze na na moje lietadielko posobi gravitacna sila cca 0.49 N, takze pre rovny let pri idealnej rychlosti by som chcel vztlak cca tiez 0.49 N.

To by bolo same v pohode, ale strasne rychlo sa mi to rozkmita a rozjebe sa to na marne sracky, aby som to podal slusne... Problem tam vidim uz s angle-of-attack. Napriklad vyjde mi trochu mensi vztlak, lietadlo dalsi frame poklesne, nos sa mu nenachyli dopredu a AoA sa skokovito zase zmeni do plusu napriklad, dalsi vztlak bude obrovsky (pretoze v tom grafe sa CL na okolo nizkych hodnot AoA meni dost strmo) a cele sa to rozbije Sad Tak este toto poriesit. Nechapem, ako sa mi to mohlo nestavat s velkymi rozmermi (tak 30 jednotiek).

Upravit velkost time stepu pomohlo len minimalne.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna