eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › wzór na obrót wiezyczki strzelniczej
Ilość wypowiedzi w tym wątku: 32

  • 21. Data: 2013-04-24 00:57:25
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: "M.M." <m...@g...com>

    W dniu wtorek, 23 kwietnia 2013 23:42:25 UTC+2 użytkownik firr kenobi napisał:
    > to jest fizyka w ruchu dyskretnym,
    > jaki jest wzor na droge w ruchu
    > jednostajnie spowolnionym (o predkosci
    > poczatkowej v i spowolnieniu a)?

    Chyba tak:

    predkosc poczatkowa: v0.
    droga poczatkowa s0.

    przyspieszenie w czasie: a (dodatnie, zakładamy że przykładane jest przeciwnie do
    zwrotu wektora ruchu)

    predkosc: v(t) = v0 - calka a(t)dt = v0 - a*t

    droga: s(t) = s0 + calka v(t)dt = s0 + v0*t - 0.5at^2

    Jesli chcesz znac droge hamowania, to trzeba obliczyc czas t z
    podstawienia v(t) = 0. Nastepnie ten czas podstawic do s(t).


    > w wersji dyskretnej to mi wychodzi chyba
    Co to jest wersja dyskretna? Wersja z dyskretnym
    czasem?

    Pozdrawiam


  • 22. Data: 2013-04-24 09:00:32
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: firr kenobi <p...@g...com>

    W dniu środa, 24 kwietnia 2013 00:57:25 UTC+2 użytkownik M.M. napisał:
    > W dniu wtorek, 23 kwietnia 2013 23:42:25 UTC+2 użytkownik firr kenobi napisał:
    >
    > > to jest fizyka w ruchu dyskretnym,
    >
    > > jaki jest wzor na droge w ruchu
    >
    > > jednostajnie spowolnionym (o predkosci
    >
    > > poczatkowej v i spowolnieniu a)?
    >
    >
    >
    > Chyba tak:
    >
    >
    >
    > predkosc poczatkowa: v0.
    >
    > droga poczatkowa s0.
    >
    >
    >
    > przyspieszenie w czasie: a (dodatnie, zakładamy że przykładane jest przeciwnie do
    zwrotu wektora ruchu)
    >
    >
    >
    > predkosc: v(t) = v0 - calka a(t)dt = v0 - a*t
    >
    >
    >
    > droga: s(t) = s0 + calka v(t)dt = s0 + v0*t - 0.5at^2
    >
    >
    >
    > Jesli chcesz znac droge hamowania, to trzeba obliczyc czas t z
    >
    > podstawienia v(t) = 0. Nastepnie ten czas podstawic do s(t).
    >
    >
    >
    >
    >
    > > w wersji dyskretnej to mi wychodzi chyba
    >
    > Co to jest wersja dyskretna? Wersja z dyskretnym
    >
    > czasem?
    >
    to chyba by bylo
    float s,v,a;
    s=v*v/(2*a);

    chcialem zobaczyc czy na ile to jest
    podobne do wersji dyskretnej

    int s,v,a;
    s = ((a*(v/a)/2+(v%a))*(v/a+1)


    nawet chyba wiecej niz z dyskretnym
    czasem bo wogole z dyskretnymi
    'iteracjami' ruchu, (czyli liczone
    'schodkami')


  • 23. Data: 2013-04-24 18:35:59
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: Vax <...@i...nie.ma>

    W dniu 2013-04-23 14:56, bartekltg pisze:
    > Wykres prędkości od czasu będzie albo trójkątem,
    > albo trapezem, w zależności, czy uda się rozpędzić.
    > Uda się, jeśli droga jest prędkość graniczna jest mniejsza
    > niż sqrt (a*droga)

    Dopiero teraz sobie zerknąłem, a tu coś ciekawego :)
    Pierwsze moje spostrzeżenie:
    mamy do czynienia z "dyskretnymi krokami/ramkami" co jeżeli dobrze
    rozumiem, oznacza jakieś taktowanie.
    Założyłem, że w każdym takcie możemy przesłać sterownikowi wartość
    przyspieszenia (lub opóźnienia) co nie wynika jednoznacznie z pobieżnego
    opisu zadania ;)

    I tu pojawią się przypadki gdy bez osiągania prędkości maksymalnej
    trzeba będzie rozstrzygnąć, czy mniej ramek wygeneruje trapez czy trójkąt.

    Np. dla przyspieszenia 2 stopnie na takt obrót o 3 stopnie można
    zrealizować w czterech taktach (trójkąt) lub tylko trzech taktach (trapez):
    1. rozpędzanie 0 - 1.5 -> pokonany dystans 0.75
    2. ruch jednostajny 1.5 -> pokonany dystans 1.5
    3. hamowanie 1.5 - 0 -> pokonany dystans 0.75
    W dwóch się nie da, maksymalne rozpędzenie i hamowanie po jednym takcie
    da tylko 2 stopnie.

    Analogicznie dla tegoż przyspieszenia obrót o 7 stopni wymaga minimum 4
    kroków i owe 4 kroki realizujemy przebiegiem trójkątnym, "trapezowanie"
    wymagałoby minimum 5 kroków.

    Celowo pomijam tu fikuśne łamane typu "trójkąt na trapezie", gdyż można
    dobrać przyspieszenie pośrednie, by uzyskać trójkąt o tym samym polu.
    Podobnie z "trapezem na trapezie".
    Natomiast "intuicyjne" podejście do tematu nakazuje się rozpędzać "ile
    fabryka dała" kontrolując jedynie "czy dam radę się zatrzymać" i
    dopiero, gdy dalsze rozpędzanie (bądź utrzymywanie maksymalnej
    prędkości) grozi przestrzeleniem mety, rozpocząć kalkulację jak
    rozplanować hamowanie by utrafić w punkt w ostatnim takcie.

    Dodatkowym "smaczkiem" jest ogranicznik prędkości maksymalnej nie będący
    wielokrotnością przyspieszenia, więc mamy sytuację niesymetryczną, gdzie
    prędkość wzrasta liniowo 0,3,6,9,10 za to maleje w sposób: 10,7,4,1,0
    (zakładając hamowanie z maksymalnej, co nie musi być regułą) - cały czas
    pamiętamy o taktowaniu.

    Zabawy miałem na co najmniej 3 kwadranse - dziękuję za łamigłówkę :)

    Nie wiem tylko, czy "optymalizacja" bierze pod uwagę na to, w którym
    momencie taktu nastąpi wyhamowanie do zera i czy w takim przypadku
    (wcześniej niż koniec taktu) sterownik zatrzyma mechanizm, czy np.
    rozpocznie obrót w przeciwnym kierunku, ale to już niuanse ;)


  • 24. Data: 2013-04-24 20:32:21
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: Kosu <K...@n...com>

    On 2013-04-22, firr kenobi <p...@g...com> wrote:
    > napisac prosty algorytm dla zadanego kata
    > X, predkosci maxymalnej v, przyspieszenia a

    To jest zadanie na kartkę, a nie do programowania...

    Po prostu równania ruchu, a potem je sobie jakoś rozwiąż.

    Dygresja:
    Jak zobaczyłem tytuł, to miałem nadzieję na jakieś ciekawe
    zadanie balistyczne, a nie na układ równań z jakąś bajką
    o obracaniu armaty...

    pozdrawiam,
    Kosu


  • 25. Data: 2013-04-24 23:37:28
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: firr kenobi <p...@g...com>

    No właśnie mw o to chodzi, z tym ze
    Nie jestem przekonany czy byłby to
    Trapez bo to jak mówiłem układ dyskretny, byłoby to cos jak (ograniczenie na prędkość
    olawszy)

    +a +a +a +b -a -a -a

    Gdzie przyspieszenie b mniejsze od a i większe od -a ma być takie by pasownie skleic
    fazę przyspieszania i. Zwalniania ale Nie całkiem wiem jak napisać równanie na b i je
    rozwiązać.

    Można to zrobic inaczej i wspomniałem
    Ze napisalem prosty algorytm

    Loop {
    If (pozostała droga > droga hamowania (v+a) ) v+=a

    If (pozostała droga < droga hamowania(v) ) v-=a

    s+=v

    }

    Ale tu z kolei tez lekko ciężko zweryfikowac czy to nie daje błędów,
    Zwłaszcza przy końcu ruchu czy np wieza nie zatrzymuje sie parę stopni
    Za wczesnie


  • 26. Data: 2013-04-24 23:51:14
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: firr kenobi <p...@g...com>

    Ten algorytm uzywa tylko +a -a i 0 ale byc może wstawia te zera inteligentnie w fazie
    zwalniania, nie jestem pewien bo jest to troche zastanawiania, :/


  • 27. Data: 2013-04-25 19:34:22
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: bartekltg <b...@g...com>

    W dniu 2013-04-24 20:32, Kosu pisze:
    > On 2013-04-22, firr kenobi <p...@g...com> wrote:
    >> napisac prosty algorytm dla zadanego kata
    >> X, predkosci maxymalnej v, przyspieszenia a
    >
    > To jest zadanie na kartkę, a nie do programowania...
    >
    > Po prostu równania ruchu, a potem je sobie jakoś rozwiąż.
    >
    > Dygresja:
    > Jak zobaczyłem tytuł, to miałem nadzieję na jakieś ciekawe
    > zadanie balistyczne, a nie na układ równań z jakąś bajką
    > o obracaniu armaty...

    Ale to byłoby na fizykę, nie tu.
    Tutaj... sterowanie ustawieniem wieżyczki, mając
    dany obraz z radaru i dane balistyczne pocisków;-)



    pzdr
    bartekltg




  • 28. Data: 2013-04-25 19:55:19
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: bartekltg <b...@g...com>

    W dniu 2013-04-24 18:35, Vax pisze:
    > W dniu 2013-04-23 14:56, bartekltg pisze:
    >> Wykres prędkości od czasu będzie albo trójkątem,
    >> albo trapezem, w zależności, czy uda się rozpędzić.
    >> Uda się, jeśli droga jest prędkość graniczna jest mniejsza
    >> niż sqrt (a*droga)
    >
    > Dopiero teraz sobie zerknąłem, a tu coś ciekawego :)
    > Pierwsze moje spostrzeżenie:
    > mamy do czynienia z "dyskretnymi krokami/ramkami" co jeżeli dobrze
    > rozumiem, oznacza jakieś taktowanie.
    > Założyłem, że w każdym takcie możemy przesłać sterownikowi wartość
    > przyspieszenia (lub opóźnienia) co nie wynika jednoznacznie z pobieżnego
    > opisu zadania ;)


    Cały problem u fira pojawia się przez to, że chce on jednocześnie
    zadać jednoznaczny ruch wieżyczki, oraz sterować prędkością
    i puszczać swojego eulera.

    To jest podejście bez sensu. Albo budujemy prawdziwy sterownik
    do wieżyczki, który pobiera pozycje (a nawet prędkość) celu
    i wysyła sygnał do sterowania 'silnikiem' (wszytko jedno, czy
    to będzie prędkością, czy np mocą) a cześć programu odpowiedzialna
    za fizykę to symuluje,

    ...albo zadajemy ruch na sztywno, wtedy nie ma sensu pytać się
    o prędkość w danym momencie, jeszcze uwzględniając poprawkę na
    niezbyt dokłądną symulację.
    Mamy pozycję (kąt) w funkcji czasu i z niego korzystamy, tyle.
    W każdej 'ramce symulacji' ustawiamy wczsniej analitycznie
    policzoną pozycję - jesteśmy dokładniejsi, zrobiliśmy to prościej,
    do tego spowoduje to mniejsze obciążenie dla komputera.


    > I tu pojawią się przypadki gdy bez osiągania prędkości maksymalnej
    > trzeba będzie rozstrzygnąć, czy mniej ramek wygeneruje trapez czy trójkąt.

    Tak, ale rozróżnienie jest nietrudne.

    Jeśli droga to S, a -przyszpieszenie, v - predkość maksymalna,
    to prędkość v osiagniemy po czasie wynikającym z v=a*t,
    przebywając wtedy drogę s = 0.5 at^2
    s = 0.5 v^2/a
    Jeśli ta droga jest większa niż połowa trasy:
    0.5 v^2/a > S/2

    to nie rozpędzimy się do końca. Połowę czasu/drogi się rozpędzamy,
    połowę hamujemy.


    Najwygodniej policzyć sobie charakterystyczne momenty,
    jak zmiana przyszpieszenia, a pomiedzy nimi ruch jest albo
    jednostajnie przyszpieszony/opozniony, albo jednostajny.
    czyli mamy funkcje kwadratową lub liniową, + 2ify w każdej ramce.
    NO, chyba, ze zbudujemy prawdziwy sterownik i fizykę.



    > Np. dla przyspieszenia 2 stopnie na takt obrót o 3 stopnie można
    > zrealizować w czterech taktach (trójkąt) lub tylko trzech taktach (trapez):
    > 1. rozpędzanie 0 - 1.5 -> pokonany dystans 0.75
    > 2. ruch jednostajny 1.5 -> pokonany dystans 1.5
    > 3. hamowanie 1.5 - 0 -> pokonany dystans 0.75
    > W dwóch się nie da, maksymalne rozpędzenie i hamowanie po jednym takcie
    > da tylko 2 stopnie.
    >
    > Analogicznie dla tegoż przyspieszenia obrót o 7 stopni wymaga minimum 4
    > kroków i owe 4 kroki realizujemy przebiegiem trójkątnym, "trapezowanie"
    > wymagałoby minimum 5 kroków.

    Nie przejmowałbym się tą dyskretyzacją, patrz pierwsze uwago.
    To, czy mamy trapez powinno wynikać wyłącznie z tego, czy osiągnelismy
    predkość maksymalną

    >
    > Celowo pomijam tu fikuśne łamane typu "trójkąt na trapezie", gdyż można
    > dobrać przyspieszenie pośrednie, by uzyskać trójkąt o tym samym polu.

    Da się udowodnić, że optymalne czasowo sterowanie będzie trapezem,
    albo trójkątem, zaleznie od tego, czy uzyskamy maksymalną prędkość.


    > Natomiast "intuicyjne" podejście do tematu nakazuje się rozpędzać "ile
    > fabryka dała" kontrolując jedynie "czy dam radę się zatrzymać" i
    > dopiero, gdy dalsze rozpędzanie (bądź utrzymywanie maksymalnej
    > prędkości) grozi przestrzeleniem mety, rozpocząć kalkulację jak
    > rozplanować hamowanie by utrafić w punkt w ostatnim takcie.
    >
    > Dodatkowym "smaczkiem" jest ogranicznik prędkości maksymalnej nie będący
    > wielokrotnością przyspieszenia, więc mamy sytuację niesymetryczną, gdzie
    > prędkość wzrasta liniowo 0,3,6,9,10 za to maleje w sposób: 10,7,4,1,0
    > (zakładając hamowanie z maksymalnej, co nie musi być regułą) - cały czas
    > pamiętamy o taktowaniu.

    To nie jest problem dyskretny. Na razie wszytko jest liczbami
    rzeczywistymi, wyliczamy na kartce odpowiedź, a potem implementujemy
    double pozycja_wiezyczki(t); //zwróc uwagę na typ:)


    > Zabawy miałem na co najmniej 3 kwadranse - dziękuję za łamigłówkę :)

    :-)


    > Nie wiem tylko, czy "optymalizacja" bierze pod uwagę na to, w którym
    > momencie taktu nastąpi wyhamowanie do zera i czy w takim przypadku
    > (wcześniej niż koniec taktu) sterownik zatrzyma mechanizm, czy np.
    > rozpocznie obrót w przeciwnym kierunku, ale to już niuanse ;)

    pzdr
    bartekltg




  • 29. Data: 2013-04-26 05:21:38
    Temat: Re: wzór na obrót wiezyczki strzelniczej
    Od: A.L. <a...@a...com>

    On Tue, 23 Apr 2013 20:22:33 +0000 (UTC), Edek
    <e...@g...com> wrote:

    >
    >Ja zrozumiałem ten problem tak, sądząc po innych wątkach OPa,
    >że to wieżyczka na statku, który się obraca i AI może zdecydować
    >w dowolnym momencie o zmianie kursu.

    Ja nie zrozumialem tego problemu w ogole, bo zostal pzredstawiony
    pzrez OPa jako belkot.

    Normalnie problem sterowanai czasooptymalnego wyglada tak (w
    najprostszej posatci)

    1. Masa napedzana przez silnik elektryczny
    2. Na poczatku masa jest w bezruchu
    3. Trzeba mase pzrestawic z poczatkowego polozenai w inne polozenie w
    najkrotszym czasie
    4. W tym inyum polozeniu masa musi znalezc sie w bezruchu

    Nei wiem czy o to chodzi OPowi. Juz sie nie dowiem bo jest u mnie w KF

    A.L.


  • 30. Data: 2013-04-26 08:14:34
    Temat: [OT] Re: wzór na obrót wiezyczki strzelniczej
    Od: voy <v...@M...pl>

    W dniu 2013-04-22 15:11, Edek pisze:
    > Użyj fuzzy logic. Serio, najlepiej się sprawdza w roli maszynisty,
    > ruch podobny - jedynie użyj modulo do kątów.
    >

    Tak mi się przypomniało o fuzzy logic:
    http://people.clarkson.edu/~esazonov/neural_fuzzy/lo
    adsway/LoadSway.htm


    Pozdr :)

strony : 1 . 2 . [ 3 ] . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: