Temat: Symulacje komputerowe lotu helikoptera w języku Java

25
Temat: Symulacje komputerowe lotu helikoptera w języku Java Autor: Jarosław Gołaszewski 149993 Promotor: Dr Dariusz Król

description

Temat: Symulacje komputerowe lotu helikoptera w języku Java. Autor: Jarosław Gołaszewski 149993 Promotor: Dr Dariusz Król. Agenda. Cel pracy Problemy informatyczne Model matematyczny helikoptera Metody sterowania śmigłowcem Zastosowany system autopilota Wykorzystywane narzędzia - PowerPoint PPT Presentation

Transcript of Temat: Symulacje komputerowe lotu helikoptera w języku Java

Page 1: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Temat: Symulacje komputerowe lotu helikoptera

w języku Java

Autor: Jarosław Gołaszewski 149993Promotor: Dr Dariusz Król

Page 2: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Agenda

1. Cel pracy2. Problemy informatyczne3. Model matematyczny helikoptera4. Metody sterowania śmigłowcem5. Zastosowany system autopilota6. Wykorzystywane narzędzia7. Wizualizacja symulacji8. Badania modelu helikoptera oraz autopilota9. Podsumowanie

2/25

Page 3: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Cel pracy

• Projekt, implementacja oraz zbadanie działania symulatora lotu śmigłowca dla niskich prędkości i autopilota, opartego na zasadach logiki rozmytej, utrzymującego helikopter w zawisie

3/25

Page 4: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Problemy informatyczne

• Wizualizacja lotu helikoptera• Implementacja złożonej aerodynamiki

lotu przy niskich prędkościach• Modelowanie efektu podmuchu wiatru• Implementacja systemu autopilota

utrzymującego śmigłowiec w zawisie

4/25

Page 5: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Modele matematyczne helikoptera• Złożoność układu

– Duża liczba ruchomych elementów– Bardzo specyficzne problemy dla tego typu

konstrukcji– Sześć stopni swobody ruchu (prędkości postępowe i

kątowe)– Teorie i założenia na podstawie badań empirycznych– 2 podejścia do tematu:

• Analiza problemów dynamiki, aerodynamiki, aerosprężystości izolowanego wirnika

• Problemy dynamiki i mechaniki lotu – równania równowagi sił i momentów, związki kinematyczne („model samolotowy”)

5/25

Page 6: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badany model helikoptera 1

• Ruch opisany równaniami równowagi sił i momentów, uzupełnionymi związkami kinematycznymi– Ciało sztywne o 6 stopniach swobody– Badania dotyczące zawisu oraz niskich prędkości– Pochodne aerodynamiczne i momenty

bezwładności z PZL-Świdnik– Warunki atmosferyczne uwzględnione pośrednio

w pochodnych

• Układ inercjalny <-> nieinercjalny - kwaterniony

6/25

Page 7: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Model matematyczny helikoptera 2

• Układ współrzędnych:

7/25

Page 8: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Model matematyczny helikoptera 3Równania momentów i sił (1.1 – 1.8):

Równanie podmuchu wiatru(1.9):

8/25

Page 9: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Metody sterowania śmigłowcem

• Wykorzystujące prawa sterowania– Złożona analiza modelu śmigłowca i

obliczenie dokładnego sterowania– Współczynniki praw sterowania obliczane w

każdym etapie lotu– Złożone obliczenia

• Antropomorficzna koncepcja sterowania– Badania psychologiczne czynności operatora

• Metody oparte na logice rozmytej

9/25

Page 10: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Zastosowany system autopilota cz.1

• Lot – nieliniowy i niestacjonarny charakter

• Regulator rozmyty+ Prostota i szybkość działania

+ Stosunkowo prosta implementacja- Trudna analiza i dobór parametrów

10/25

Page 11: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Zastosowany system autopilota cz.2• Stan helikoptera (u, v, w, p, q, r, , , )• Sygnał sterujący (0 ,1, 2, s0)• Schemat regulatora:

Fuzyfikacja RegułyWnioskowania

rozmytego(Inferencja)

Funkcja konkluzji 1

(Defuzyfikacja)

Fuzyfikacja RegułyWnioskowania

rozmytego(Inferencja)

Funkcja konkluzji 2

(Defuzyfikacja)

Fuzyfikacja RegułyWnioskowania

rozmytego(Inferencja)

Funkcja konkluzji 3

(Defuzyfikacja)

Fuzyfikacja RegułyWnioskowania

rozmytego(Inferencja)

Funkcja konkluzji 4

(Defuzyfikacja)

w

u, q

v, p

r

0

1

2

s0

11/25

Page 12: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Wykorzystywane narzędzia

• Eclipse – środowisko implementacyjne• Milkshape3D – tworzenie kolejnych

klatek animacji oraz edycja modelu śmigłowca

• Quick3D Pro – importowanie i eksportowanie różnych formatów modeli trójwymiarowych

• Gimp 2.6 – tworzenie tekstur, generowanie mapy wysokości

12/25

Page 13: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Wizualizacja symulacji cz. 1

• Język programowania – Java• Wizualizacja 3D przy użyciu biblioteki jogl

1.1.0 umożliwiającej dostęp do możliwości OpenGL

• Praca kamery– Dowolny ruch wokół modelu helikoptera– Przybliżanie i oddalanie

• Animacja modelu śmigłowca– Model w formacie MD2– Płynna animacja – interpolacja wierzchołków– Cieniowanie modelu

13/25

Page 14: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Wizualizacja symulacji cz. 2

• Realistyczne odwzorowanie terenu– Generowanie ukształtowania na

podstawie mapy bitowej w odcieniach szarości

– Teksturowanie– Oświetlenie i cieniowanie terenu– Efekt mgły– Wykorzystanie buforów wierzchołków

• Efekty pogodowe– Opady deszczu wizualizujące kierunek

wiatru (plakatowanie) 14/25

Page 15: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Wizualizacja symulacji (screen)

15/25

Page 16: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Zakres badań

• Badanie reakcji na zmianę kątów sterowania

• Reakcja modelu na podmuch wiatru– Z włączonym/ wyłączonym autopilotem

16/25

Page 17: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania(reakcja na ruch sterem sterowania podłużnego z szybkością 1/s) 1

17/25

Prędkości liniowe [u,v,w]

-10

-5

0

5

10

15

0 5 10 15 20 25 30

t[s]

pre

d[m

/s] u

v

w

Page 18: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania(reakcja na ruch sterem sterowania podłużnego)2

Prędkości kątowe [p,q,r]

-0,14-0,12-0,1-0,08-0,06-0,04-0,02

00,020,040,060,08

0 5 10 15 20 25 30

t[s]

prę

d[r

ad/s

]

p

q

r

Page 19: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania (reakcja na podmuch wiatru) 1

19/25

Prędkości liniowe [u,v,w] pod podmuchu (1,0,0)

-10

-5

0

5

10

15

0 5 10 15 20 25

t[s]

pre

d[m

/s]

u

v

w

Page 20: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania (reakcja na podmuch wiatru) 2

20/25

Prędkości kątowe [p,q,r] pod podmuchu (1,0,0)

-0,1

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0 5 10 15 20 25

t[s]

pre

d[r

ad/s

]

p

q

r

Page 21: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania (reakcja na podmuch wiatru, autopilot) 1

21/25

Prędkości liniowe [u,v,w] dla podmuchu (1,0,0)

-0,0025

-0,002

-0,0015

-0,001

-0,0005

0

0,0005

0,001

0,0015

0,002

0,0025

0 5 10 15 20 25 30 35 40 45 50

t[s]

pre

d[m

/s]

u

v

w

Page 22: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Badania (reakcja na podmuch wiatru, autopilot) 2

22/25

Prędkości kątowe [p,q,r] dla podmuchu (1,0,0)

-0,04

-0,03

-0,02

-0,01

0

0,01

0,02

0,03

0,04

0 5 10 15 20 25 30 35 40 45 50

t[s]

pre

d[r

ad/s

]

p

q

r

Page 23: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Aktualnie prowadzone prace

• Korekcja parametrów sterowania• Opisywanie wykonanej pracy

23/25

Page 24: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Podsumowanie

• Złożoność zagadnienia• Brak podobnego podejścia do tematu

symulacji• Prace implementacyjne zakończone• Dużo możliwości przeprowadzania

badań• Możliwość wykorzystania efektów pracy

w praktyce

24/25

Page 25: Temat: Symulacje komputerowe lotu helikoptera w języku Java

Dziękuję za uwagę

Pytania?

25/25